home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l292 / 1.ddi / REGDEM.FOR < prev    next >
Encoding:
Text File  |  1989-10-10  |  3.3 KB  |  110 lines

  1.       !! Program Regdem
  2.       INCLUDE 'stdhdr.for'
  3.       REAL see, rsq, r
  4.       INTEGER numiv, numobs
  5.       LOGICAL errr
  6.       REAL storedata(0:maxr, 0:maxc), sales(0:maxr)
  7.       REAL eqncoef(0:maxc), coefsig(0:maxc), yest(0:maxr)
  8.       REAL resid(0:maxr)
  9.  
  10.       !Begin mulreg example
  11.  
  12.       !setup independent variable matrix
  13.  
  14.       !income         population
  15.       storedata(0, 0) = 305.0
  16.       storedata(0, 1) = 35.0
  17.       storedata(1, 0) = 130.0
  18.       storedata(1, 1) = 98.0
  19.       storedata(2, 0) = 189.0
  20.       storedata(2, 1) = 83.0
  21.       storedata(3, 0) = 175.0
  22.       storedata(3, 1) = 76.0
  23.       storedata(4, 0) = 101.0
  24.       storedata(4, 1) = 93.0
  25.       storedata(5, 0) = 269.0
  26.       storedata(5, 1) = 77.0
  27.       storedata(6, 0) = 421.0
  28.       storedata(6, 1) = 44.0
  29.       storedata(7, 0) = 195.0
  30.       storedata(7, 1) = 57.0
  31.       storedata(8, 0) = 282.0
  32.       storedata(8, 1) = 31.0
  33.       storedata(9, 0) = 203.0
  34.       storedata(9, 1) = 92.0
  35.  
  36.       !{setup dependent variable matrix}
  37.  
  38.       !{sales}
  39.       sales(0) = 20.0
  40.       sales(1) = 15.0
  41.       sales(2) = 17.0
  42.       sales(3) = 9.0
  43.       sales(4) = 16.0
  44.       sales(5) = 27.0
  45.       sales(6) = 35.0
  46.       sales(7) = 7.0
  47.       sales(8) = 22.0
  48.       sales(9) = 23.0
  49.  
  50.  
  51.       numobs = 10
  52.       numiv = 2
  53.  
  54.       CALL MultipleReg(storedata, sales, numiv, numobs,
  55.      + eqncoef, yest, resid, see, coefsig, rsq, r, errr)
  56.  
  57.       CALL DisplayRegData(storedata, sales, numobs,
  58.      +  eqncoef, yest, resid, see, coefsig, rsq, r )
  59.  
  60.       END
  61.  
  62.       SUBROUTINE DisplayRegData(storedata, sales, numobs,
  63.      +  eqncoef, yest, resid, see, coefsig, rsq, r)
  64.       INCLUDE 'STDHDR.FOR'
  65.         REAL storedata(0:maxr,0:maxc),sales(0:maxr), eqncoef(0:maxc)
  66.         REAL yest(0:maxr), resid(0:maxr), coefsig(0:maxc),see,r,rsq
  67.         INTEGER  numobs, i
  68.         CHARACTER varstring(0: 3) * 10
  69.       !setup string array with names of variables}
  70.  
  71.       varstring(0) = 'sales'
  72.       varstring(1) = 'constant'
  73.       varstring(2) = 'income'
  74.       varstring(3) = 'population'
  75.  
  76.  
  77.       PRINT 10, 'Multiple regression - store sales vs district',
  78.      +  'income and population'
  79. 6     FORMAT (A35)
  80.       PRINT 7, 'actual     district      district    estimated'
  81. 7     FORMAT (12X,A45 )
  82.       PRINT 10, 'index     sales      income      population  ',
  83.      + '   sales       residuals'
  84.       PRINT 10, '=====     =====      ======      ==========  ',
  85.      + '   =====       ========='
  86. 10    FORMAT (1X, A47, A24 )
  87.       DO i = 0, numobs - 1
  88.         PRINT 20, i, sales(i), storedata(i, 0), storedata(i, 1),
  89.      +            yest(i), resid(i)
  90. 20      FORMAT (2X, I2, 5(6X F7.2))
  91.       END DO
  92.       PRINT *, 'Estimated regression equation is: '
  93.       PRINT 24, varstring(0),
  94.      +   ' (y) = variable   x   coefficient       error '
  95. 24    FORMAT (1X, A5,A47)
  96.       PRINT 25,' ========        ===========       ====='
  97. 25    FORMAT (12X, A40)
  98.       DO i = 0, 2
  99.         PRINT 30, i, varstring(i), eqncoef(i), coefsig(i)
  100. 30      FORMAT (' x(',I2,') ', 2X, A10, 2( 10X F6.2))
  101.       END DO
  102.       PRINT 35, 'Correlation coef (r) =              ', r
  103.       PRINT 35, 'Coefficient of determination rsqr = ', rsq
  104.       PRINT 35, 'Standard error of estimate (see) =  ', see
  105. 35    FORMAT (A37, F8.4)
  106.       READ(*,*)
  107.  
  108.       END !SUB DisplayReg Data
  109.  
  110.