home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / fortran / library / ssp / statcorr / multr.for < prev    next >
Text File  |  1985-11-29  |  6KB  |  174 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE MULTR
  5. C
  6. C        PURPOSE
  7. C           PERFORM A MULTIPLE LINEAR REGRESSION ANALYSIS FOR A
  8. C           DEPENDENT VARIABLE AND A SET OF INDEPENDENT VARIABLES.  THIS
  9. C           SUBROUTINE IS NORMALLY USED IN THE PERFORMANCE OF MULTIPLE
  10. C           AND POLYNOMIAL REGRESSION ANALYSES.
  11. C
  12. C        USAGE
  13. C           CALL MULTR (N,K,XBAR,STD,D,RX,RY,ISAVE,B,SB,T,ANS)
  14. C
  15. C        DESCRIPTION OF PARAMETERS
  16. C           N     - NUMBER OF OBSERVATIONS.
  17. C           K     - NUMBER OF INDEPENDENT VARIABLES IN THIS REGRESSION.
  18. C           XBAR  - INPUT VECTOR OF LENGTH M CONTAINING MEANS OF ALL
  19. C                   VARIABLES. M IS NUMBER OF VARIABLES IN OBSERVATIONS.
  20. C           STD   - INPUT VECTOR OF LENGTH M CONTAINING STANDARD DEVI-
  21. C                   ATIONS OF ALL VARIABLES.
  22. C           D     - INPUT VECTOR OF LENGTH M CONTAINING THE DIAGONAL OF
  23. C                   THE MATRIX OF SUMS OF CROSS-PRODUCTS OF DEVIATIONS
  24. C                   FROM MEANS FOR ALL VARIABLES.
  25. C           RX    - INPUT MATRIX (K X K) CONTAINING THE INVERSE OF
  26. C                   INTERCORRELATIONS AMONG INDEPENDENT VARIABLES.
  27. C           RY    - INPUT VECTOR OF LENGTH K CONTAINING INTERCORRELA-
  28. C                   TIONS OF INDEPENDENT VARIABLES WITH DEPENDENT
  29. C                   VARIABLE.
  30. C           ISAVE - INPUT VECTOR OF LENGTH K+1 CONTAINING SUBSCRIPTS OF
  31. C                   INDEPENDENT VARIABLES IN ASCENDING ORDER.  THE
  32. C                   SUBSCRIPT OF THE DEPENDENT VARIABLE IS STORED IN
  33. C                   THE LAST, K+1, POSITION.
  34. C           B     - OUTPUT VECTOR OF LENGTH K CONTAINING REGRESSION
  35. C                   COEFFICIENTS.
  36. C           SB    - OUTPUT VECTOR OF LENGTH K CONTAINING STANDARD
  37. C                   DEVIATIONS OF REGRESSION COEFFICIENTS.
  38. C           T     - OUTPUT VECTOR OF LENGTH K CONTAINING T-VALUES.
  39. C           ANS   - OUTPUT VECTOR OF LENGTH 10 CONTAINING THE FOLLOWING
  40. C                   INFORMATION..
  41. C                   ANS(1)  INTERCEPT
  42. C                   ANS(2)  MULTIPLE CORRELATION COEFFICIENT
  43. C                   ANS(3)  STANDARD ERROR OF ESTIMATE
  44. C                   ANS(4)  SUM OF SQUARES ATTRIBUTABLE TO REGRES-
  45. C                           SION (SSAR)
  46. C                   ANS(5)  DEGREES OF FREEDOM ASSOCIATED WITH SSAR
  47. C                   ANS(6)  MEAN SQUARE OF SSAR
  48. C                   ANS(7)  SUM OF SQUARES OF DEVIATIONS FROM REGRES-
  49. C                           SION (SSDR)
  50. C                   ANS(8)  DEGREES OF FREEDOM ASSOCIATED WITH SSDR
  51. C                   ANS(9)  MEAN SQUARE OF SSDR
  52. C                   ANS(10) F-VALUE
  53. C
  54. C        REMARKS
  55. C           N MUST BE GREATER THAN K+1.
  56. C
  57. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  58. C           NONE
  59. C
  60. C        METHOD
  61. C           THE GAUSS-JORDAN METHOD IS USED IN THE SOLUTION OF THE
  62. C           NORMAL EQUATIONS.  REFER TO W. W. COOLEY AND P. R. LOHNES,
  63. C           'MULTIVARIATE PROCEDURES FOR THE BEHAVIORAL SCIENCES',
  64. C           JOHN WILEY AND SONS, 1962, CHAPTER 3, AND B. OSTLE,
  65. C           'STATISTICS IN RESEARCH', THE IOWA STATE COLLEGE PRESS,
  66. C           1954, CHAPTER 8.
  67. C
  68. C     ..................................................................
  69. C
  70.       SUBROUTINE MULTR (N,K,XBAR,STD,D,RX,RY,ISAVE,B,SB,T,ANS)
  71.       DIMENSION XBAR(1),STD(1),D(1),RX(1),RY(1),ISAVE(1),B(1),SB(1),
  72.      1          T(1),ANS(1)
  73. C
  74. C        ...............................................................
  75. C
  76. C        IF A DOUBLE PRECISION VERSION OF THIS ROUTINE IS DESIRED, THE
  77. C        C IN COLUMN 1 SHOULD BE REMOVED FROM THE DOUBLE PRECISION
  78. C        STATEMENT WHICH FOLLOWS.
  79. C
  80. C     DOUBLE PRECISION XBAR,STD,D,RX,RY,B,SB,T,ANS,RM,BO,SSAR,SSDR,SY,
  81. C    1                 FN,FK,SSARM,SSDRM,F
  82. C
  83. C        THE C MUST ALSO BE REMOVED FROM DOUBLE PRECISION STATEMENTS
  84. C        APPEARING IN OTHER ROUTINES USED IN CONJUNCTION WITH THIS
  85. C        ROUTINE.
  86. C
  87. C        THE DOUBLE PRECISION VERSION OF THIS SUBROUTINE MUST ALSO
  88. C        CONTAIN DOUBLE PRECISION FORTRAN FUNCTIONS.  SQRT AND ABS IN
  89. C        STATEMENTS 122, 125, AND 135 MUST BE CHANGED TO DSQRT AND DABS.
  90. C
  91. C        ...............................................................
  92. C
  93.       MM=K+1
  94. C
  95. C        BETA WEIGHTS
  96. C
  97.       DO 100 J=1,K
  98.   100 B(J)=0.0
  99.       DO 110 J=1,K
  100.       L1=K*(J-1)
  101.       DO 110 I=1,K
  102.       L=L1+I
  103.   110 B(J)=B(J)+RY(I)*RX(L)
  104.       RM=0.0
  105.       BO=0.0
  106.       L1=ISAVE(MM)
  107. C
  108. C        COEFFICIENT OF DETERMINATION
  109. C
  110.       DO 120 I=1,K
  111.       RM=RM+B(I)*RY(I)
  112. C
  113. C        REGRESSION COEFFICIENTS
  114. C
  115.       L=ISAVE(I)
  116.       B(I)=B(I)*(STD(L1)/STD(L))
  117. C
  118. C        INTERCEPT
  119. C
  120.   120 BO=BO+B(I)*XBAR(L)
  121.       BO=XBAR(L1)-BO
  122. C
  123. C        SUM OF SQUARES ATTRIBUTABLE TO REGRESSION
  124. C
  125.       SSAR=RM*D(L1)
  126. C
  127. C        MULTIPLE CORRELATION COEFFICIENT
  128. C
  129.   122 RM= SQRT( ABS(RM))
  130. C
  131. C        SUM OF SQUARES OF DEVIATIONS FROM REGRESSION
  132. C
  133.       SSDR=D(L1)-SSAR
  134. C
  135. C        VARIANCE OF ESTIMATE
  136. C
  137.       FN=N-K-1
  138.       SY=SSDR/FN
  139. C
  140. C        STANDARD DEVIATIONS OF REGRESSION COEFFICIENTS
  141. C
  142.       DO 130 J=1,K
  143.       L1=K*(J-1)+J
  144.       L=ISAVE(J)
  145.   125 SB(J)= SQRT( ABS((RX(L1)/D(L))*SY))
  146. C
  147. C        COMPUTED T-VALUES
  148. C
  149.   130 T(J)=B(J)/SB(J)
  150. C
  151. C        STANDARD ERROR OF ESTIMATE
  152. C
  153.   135 SY= SQRT( ABS(SY))
  154. C
  155. C        F VALUE
  156. C
  157.       FK=K
  158.       SSARM=SSAR/FK
  159.       SSDRM=SSDR/FN
  160.       F=SSARM/SSDRM
  161. C
  162.       ANS(1)=BO
  163.       ANS(2)=RM
  164.       ANS(3)=SY
  165.       ANS(4)=SSAR
  166.       ANS(5)=FK
  167.       ANS(6)=SSARM
  168.       ANS(7)=SSDR
  169.       ANS(8)=FN
  170.       ANS(9)=SSDRM
  171.       ANS(10)=F
  172.       RETURN
  173.       END
  174.