Merge remote-tracking branch 'origin/master' into sheet
[pspp] / tests / language / stats / regression.at
index 60d077d29b0487a4f53144de9fc4dbff1d1d2826..7461a45a033739431b5f6c77c7491a0836f6a27a 100644 (file)
@@ -1,9 +1,26 @@
+dnl PSPP - a program for statistical analysis.
+dnl Copyright (C) 2017 Free Software Foundation, Inc.
+dnl 
+dnl This program is free software: you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation, either version 3 of the License, or
+dnl (at your option) any later version.
+dnl 
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+dnl GNU General Public License for more details.
+dnl 
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
+dnl
 AT_BANNER([LINEAR REGRESSION])
 
 AT_SETUP([LINEAR REGRESSION - basic])
 AT_DATA([regression.sps], [dnl
 set format = F22.3.
 data list notable list / v0 to v2.
+filter by v0.
 begin data
  0.65377128  7.735648 -23.97588
 -0.13087553  6.142625 -19.63854
@@ -21,6 +38,80 @@ list.
 ])
 
 AT_CHECK([pspp -O format=csv regression.sps], [0], [dnl
+regression.sps:16: warning: REGRESSION: REGRESSION with SAVE ignores FILTER.  All cases will be processed.
+
+Table: Model Summary (v2)
+,R,R Square,Adjusted R Square,Std. Error of the Estimate
+,.971,.942,.925,1.337
+
+Table: ANOVA (v2)
+,,Sum of Squares,df,Mean Square,F,Sig.
+,Regression,202.753,2,101.376,56.754,.000
+,Residual,12.504,7,1.786,,
+,Total,215.256,9,,,
+
+Table: Coefficients (v2)
+,,Unstandardized Coefficients,,Standardized Coefficients,,
+,,B,Std. Error,Beta,t,Sig.
+,(Constant),2.191,2.357,.000,.930,.380
+,v0,1.813,1.053,.171,1.722,.129
+,v1,-3.427,.332,-1.026,-10.334,.000
+
+Table: Data List
+v0,v1,v2,RES1,PRED1
+.654,7.736,-23.976,-.84,-23.13
+-.131,6.143,-19.639,-.54,-19.10
+.349,7.651,-25.266,-1.87,-23.40
+.692,6.125,-16.571,.97,-17.54
+-.074,8.246,-25.800,.40,-26.20
+-.344,6.032,-17.567,1.53,-19.10
+.760,9.832,-28.360,1.77,-30.13
+-.470,5.344,-16.795,.18,-16.97
+-.061,8.838,-29.257,-1.05,-28.21
+.562,6.200,-18.582,-.54,-18.04
+])
+AT_CLEANUP
+
+
+AT_SETUP([LINEAR REGRESSION - one save])
+AT_DATA([regression.sps], [dnl
+set format = F22.3.
+data list notable list / v0 to v2.
+begin data
+ 0.65377128  7.735648 -23.97588
+-0.13087553  6.142625 -19.63854
+ 0.34880368  7.651430 -25.26557
+ 0.69249021  6.125125 -16.57090
+-0.07368178  8.245789 -25.80001
+-0.34404919  6.031540 -17.56743
+ 0.75981559  9.832291 -28.35977
+-0.46958313  5.343832 -16.79548
+-0.06108490  8.838262 -29.25689
+ 0.56154863  6.200189 -18.58219
+end data
+regression /variables=v0 v1 v2 /statistics defaults /dependent=v2 /method=enter /save=resid.
+regression /variables=v0 v1 v2 /statistics defaults /dependent=v2 /method=enter /save=pred.
+list.
+])
+
+AT_CHECK([pspp -O format=csv regression.sps], [0], [dnl
+Table: Model Summary (v2)
+,R,R Square,Adjusted R Square,Std. Error of the Estimate
+,.971,.942,.925,1.337
+
+Table: ANOVA (v2)
+,,Sum of Squares,df,Mean Square,F,Sig.
+,Regression,202.753,2,101.376,56.754,.000
+,Residual,12.504,7,1.786,,
+,Total,215.256,9,,,
+
+Table: Coefficients (v2)
+,,Unstandardized Coefficients,,Standardized Coefficients,,
+,,B,Std. Error,Beta,t,Sig.
+,(Constant),2.191,2.357,.000,.930,.380
+,v0,1.813,1.053,.171,1.722,.129
+,v1,-3.427,.332,-1.026,-10.334,.000
+
 Table: Model Summary (v2)
 ,R,R Square,Adjusted R Square,Std. Error of the Estimate
 ,.971,.942,.925,1.337
@@ -1687,9 +1778,8 @@ begin data
 end data
 regression /variables=v0 v1 /statistics defaults /dependent=v0 /method=enter.
 ])
-AT_CHECK([pspp -o pspp.csv regression.sps])
 
-AT_CHECK([cat pspp.csv], [0], [dnl
+AT_CHECK([pspp -O format=csv regression.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 v0,F8.0
@@ -1701,16 +1791,17 @@ Table: Model Summary (v0)
 
 Table: ANOVA (v0)
 ,,Sum of Squares,df,Mean Square,F,Sig.
-,Regression,235.23,1,235.23,3.58,.06
+,Regression,235.23,1,235.23,3.58,.059
 ,Residual,98438.40,1498,65.71,,
 ,Total,98673.63,1499,,,
 
 Table: Coefficients (v0)
 ,,Unstandardized Coefficients,,Standardized Coefficients,,
 ,,B,Std. Error,Beta,t,Sig.
-,(Constant),1.24,.42,.00,2.95,.00
-,v1,1.37,.72,.05,1.89,.06
+,(Constant),1.24,.42,.00,2.95,.003
+,v1,1.37,.72,.05,1.89,.059
 ])
+
 AT_CLEANUP
 
 AT_SETUP([LINEAR REGRESSION no crash on all missing])
@@ -2055,3 +2146,191 @@ Table: Coefficients (science)
 
 
 AT_CLEANUP
+
+
+dnl Checks for regression against bug #44877.
+AT_SETUP([LINEAR REGRESSION crash with long string variables])
+AT_DATA([regression.sps], [dnl
+SET DECIMAL=DOT.
+
+DATA LIST notable LIST /text (A24) Y * X1 *
+BEGIN DATA.
+V00276601 0.00 90.00
+V00292909 10.00 30.00
+V00291204 20.00 20.00
+V00300070 0.00 90.00
+END DATA.
+
+REGRESSION
+/VARIABLES= Y
+/DEPENDENT= X1
+/METHOD=ENTER
+/STATISTICS=COEFF R ANOVA
+/SAVE= RESID.
+
+LIST.
+])
+AT_CHECK([pspp -o pspp.csv regression.sps])
+AT_CHECK([cat pspp.csv], [0], [dnl
+Table: Model Summary (X1)
+,R,R Square,Adjusted R Square,Std. Error of the Estimate
+,.95,.89,.84,15.08
+
+Table: ANOVA (X1)
+,,Sum of Squares,df,Mean Square,F,Sig.
+,Regression,3820.45,1,3820.45,16.81,.055
+,Residual,454.55,2,227.27,,
+,Total,4275.00,3,,,
+
+Table: Coefficients (X1)
+,,Unstandardized Coefficients,,Standardized Coefficients,,
+,,B,Std. Error,Beta,t,Sig.
+,(Constant),85.45,10.16,.00,8.41,.004
+,Y,-3.73,.91,-.95,-4.10,.055
+
+Table: Data List
+text,Y,X1,RES1
+V00276601               ,.00,90.00,4.55
+V00292909               ,10.00,30.00,-18.18
+V00291204               ,20.00,20.00,9.09
+V00300070               ,.00,90.00,4.55
+])
+AT_CLEANUP
+
+
+dnl Test for a crash which happened on bad input syntax
+AT_SETUP([LINEAR REGRESSION -- Empty Parentheses])
+
+AT_DATA([empty-parens.sps], [dnl
+set format = F22.3.
+
+data list notable list /math female socst read science *
+begin data.
+    58.00      1.00     61.00     55.00     58.00
+    65.00      1.00     61.00     63.00     53.00
+end data.
+
+regression
+ /variables = math female socst read
+ /statistics = coeff r anova ci ()
+ /dependent = science
+ /method = enter
+])
+
+AT_CHECK([pspp -o pspp.csv empty-parens.sps], [1], [ignore])
+
+AT_CLEANUP 
+
+
+
+
+AT_SETUP([LINEAR REGRESSION varibles on ENTER subcommand])
+AT_DATA([regression.sps], [dnl
+SET FORMAT=F10.3.
+
+DATA LIST notable LIST /number * value *.
+BEGIN DATA
+ 16 7.25 
+  0  .00 
+  1  .10 
+  9 27.9 
+  0  .00 
+  7 3.65 
+ 14 16.8 
+ 24 9.15 
+  0  .00 
+ 24 19.0 
+  7 4.05 
+ 12 7.90 
+  6  .75 
+ 11 1.40 
+  0  .00 
+  3 2.30 
+ 12 7.60 
+ 11 6.80 
+ 16 8.65 
+END DATA.
+
+REGRESSION
+  /STATISTICS COEFF R ANOVA
+  /DEPENDENT value
+  /METHOD=ENTER number.
+])
+
+
+AT_CHECK([pspp -O format=csv regression.sps], [0], [dnl
+Table: Model Summary (value)
+,R,R Square,Adjusted R Square,Std. Error of the Estimate
+,.612,.374,.338,6.176
+
+Table: ANOVA (value)
+,,Sum of Squares,df,Mean Square,F,Sig.
+,Regression,388.065,1,388.065,10.173,.005
+,Residual,648.498,17,38.147,,
+,Total,1036.563,18,,,
+
+Table: Coefficients (value)
+,,Unstandardized Coefficients,,Standardized Coefficients,,
+,,B,Std. Error,Beta,t,Sig.
+,(Constant),.927,2.247,.000,.413,.685
+,number,.611,.192,.612,3.189,.005
+])
+
+AT_CLEANUP 
+
+
+
+AT_SETUP([LINEAR REGRESSION /ORIGIN])
+AT_DATA([regression-origin.sps], [dnl
+SET FORMAT=F10.3.
+
+DATA LIST notable LIST /number * value *.
+BEGIN DATA
+ 16 7.25 
+  0  .00 
+  1  .10 
+  9 27.9 
+  0  .00 
+  7 3.65 
+ 14 16.8 
+ 24 9.15 
+  0  .00 
+ 24 19.0 
+  7 4.05 
+ 12 7.90 
+  6  .75 
+ 11 1.40 
+  0  .00 
+  3 2.30 
+ 12 7.60 
+ 11 6.80 
+ 16 8.65 
+END DATA.
+
+REGRESSION
+  /STATISTICS COEFF R ANOVA
+  /DEPENDENT value
+  /ORIGIN
+  /METHOD=ENTER number.
+])
+
+
+AT_CHECK([pspp -O format=csv regression-origin.sps], [0], [dnl
+Table: Model Summary (value)
+,R,R Square,Adjusted R Square,Std. Error of the Estimate
+,.802,.643,.622,6.032
+
+Table: ANOVA (value)
+,,Sum of Squares,df,Mean Square,F,Sig.
+,Regression,1181.726,1,1181.726,32.475,.000
+,Residual,654.989,18,36.388,,
+,Total,1836.715,19,,,
+
+Table: Coefficients (value)
+,,Unstandardized Coefficients,,Standardized Coefficients,,
+,,B,Std. Error,Beta,t,Sig.
+,number,.672,.118,.802,5.699,.000
+,,,,,,
+])
+
+AT_CLEANUP