### SPSS Textbook Examples Regression Analysis by Example, Third Edition Chapter 2:  Simple Linear Regression

Table 2.3, page 25: A data set with a perfect nonlinear relationship between Y and X, yet Cor(X,Y) = 0

```get file 'D:\p025a.sav'.
list. ```
```       y        x

1       -7
14       -6
25       -5
34       -4
41       -3
46       -2
49       -1
50        0
49        1
46        2
41        3
34        4
25        5
14        6
1        7

Number of cases read:  15    Number of cases listed:  15```

Figure 2.2, page 25: A scatter plot of Y versus X in Table 2.3

```graph
/scatter = x with y.```

Table 2.4, page 25 Anscombe's Quartet: Four data sets having same values of summary statistics
```get file 'D:\p025b.sav'.
list.

y1       x1        y2       x2        y3       x3        y4       x4

8.04       10      9.14       10      7.46       10      6.58        8
6.95        8      8.14        8      6.77        8      5.76        8
7.58       13      8.74       13     12.74       13      7.71        8
8.81        9      8.77        9      7.11        9      8.84        8
8.33       11      9.26       11      7.81       11      8.47        8
9.96       14      8.10       14      8.84       14      7.04        8
7.24        6      6.13        6      6.08        6      5.25        8
4.26        4      3.10        4      5.39        4     12.50       19
10.84       12      9.13       12      8.15       12      5.56        8
4.82        7      7.26        7      6.42        7      7.91        8
5.68        5      4.74        5      5.73        5      6.89        8

Number of cases read:  11    Number of cases listed:  11```

Figure 2.3, page 26: Scatter plots of the data in Table 2.4 with the fitted lines

graph (a)

```formats y1 x1 y2 x2 y3 x3 y4 x4 (f2.0).
GGRAPH
/GRAPHDATASET NAME="GraphDataset" VARIABLES= y1 x1
/GRAPHSPEC SOURCE=INLINE
BEGIN GPL
SOURCE: s=userSource( id( "GraphDataset" ) )
DATA: y1=col( source(s), name( "y1" ) )
DATA: x1=col( source(s), name( "x1" ) )
GUIDE: axis( dim( 1 ), label( "x1" ) )
GUIDE: axis( dim( 2 ), label( "y1" ) )
ELEMENT: point( position( ( X1_Var * Y_Var ) ) )
END GPL.```

graph (b)

```GGRAPH
/GRAPHDATASET NAME="GraphDataset" VARIABLES= y2 x2
/GRAPHSPEC SOURCE=INLINE  INLINETEMPLATE=["<addFitLine  type='linear' target='pair'/> "].
BEGIN GPL
SOURCE: s=userSource( id( "GraphDataset" ) )
DATA: y2=col( source(s), name( "y2" ) )
DATA: x2=col( source(s), name( "x2" ) )
GUIDE: axis( dim( 1 ), label( "x2" ) )
GUIDE: axis( dim( 2 ), label( "y2" ) )
ELEMENT: point( position( (x2 * y2 ) ) )
END GPL.```

graph (c)

```GGRAPH
/GRAPHDATASET NAME="GraphDataset" VARIABLES= y3 x3
/GRAPHSPEC SOURCE=INLINE INLINETEMPLATE=["<addFitLine  type='linear' target='pair'/> " ].
BEGIN GPL
SOURCE: s=userSource( id( "GraphDataset" ) )
DATA: y3=col( source(s), name( "y3" ) )
DATA: x3=col( source(s), name( "x3" ) )
GUIDE: axis( dim( 1 ), label( "x3" ) )
GUIDE: axis( dim( 2 ), label( "y3" ) )
ELEMENT: point( position( ( x3 * y3 ) ) )
END GPL.```

graph (d)

```GGRAPH
/GRAPHDATASET NAME="GraphDataset" VARIABLES= y4 x4
/GRAPHSPEC SOURCE=INLINE INLINETEMPLATE=["<addFitLine  type='linear' target='pair'/> "].
BEGIN GPL
SOURCE: s=userSource( id( "GraphDataset" ) )
DATA: y4=col( source(s), name( "y4" ) )
DATA: x4=col( source(s), name("x4") )
GUIDE: axis( dim( 1 ), label( "x4" ) )
GUIDE: axis( dim( 2 ), label( "y4" ) )
ELEMENT: point( position( ( x4 * y4 ) ) )
END GPL. ```

Table 2.5, page 27 length of service calls (in minutes) and number of units repaired

```get file 'D:\p027.sav'.
list.```
``` minutes    units

23        1
29        2
49        3
64        4
74        4
87        5
96        6
97        6
109        7
119        8
149        9
145        9
154       10
166       10

Number of cases read:  14    Number of cases listed:  14```

Table 2.6, Page 28: Quantities needed for the computation of the correlation coefficient between the
length of service calls, Y and the number of units repaired, X

```compute const = 1.
exe.
aggregate outfile "d:\p027ag.sav"
/break =const
/ymean = mean(minutes)
/xmean = mean(units).
match files file =  *
/table = "d:\p027ag.sav"
/by const.
exe.
compute yd = minutes - ymean.
compute xd = units - xmean.
compute yd2 = yd**2.
compute xd2 = xd**2.
compute xyd = xd*yd.
exe.
list minutes units yd to xyd.

minutes    units       yd       xd      yd2      xd2      xyd

23        1   -74.21    -5.00  5507.76    25.00   371.07
29        2   -68.21    -4.00  4653.19    16.00   272.86
49        3   -48.21    -3.00  2324.62     9.00   144.64
64        4   -33.21    -2.00  1103.19     4.00    66.43
74        4   -23.21    -2.00   538.90     4.00    46.43
87        5   -10.21    -1.00   104.33     1.00    10.21
96        6    -1.21      .00     1.47      .00      .00
97        6     -.21      .00      .05      .00      .00
109        7    11.79     1.00   138.90     1.00    11.79
119        8    21.79     2.00   474.62     4.00    43.57
149        9    51.79     3.00  2681.76     9.00   155.36
145        9    47.79     3.00  2283.47     9.00   143.36
154       10    56.79     4.00  3224.62    16.00   227.14
166       10    68.79     4.00  4731.47    16.00   275.14

Number of cases read:  14    Number of cases listed:  14

descriptive variables = minutes to xyd
/statistics = sum.```

Figure 2.4, page 26 computer repair data: scatter plot of minutes versus units

```graph
/scatter units with minutes.```

Table 2.7, page 32 the fitted values of, yhat, and the ordinary least squares residuals, e, for the repair data

```regression
/dependent = minutes
/method = enter units
/save resid (e) pred (yhat) sepred (semu).```
`list units yhat e.`
```   units        yhat           e

1    19.67043     3.32957
2    35.17920    -6.17920
3    50.68797    -1.68797
4    66.19674    -2.19674
4    66.19674     7.80326
5    81.70551     5.29449
6    97.21429    -1.21429
6    97.21429     -.21429
7   112.72306    -3.72306
8   128.23183    -9.23183
9   143.74060     5.25940
9   143.74060     1.25940
10   159.24937    -5.24937
10   159.24937     6.75063

Number of cases read:  14    Number of cases listed:  14```

Figure 2.5, page 32 plot of minutes versus units with the fitted least squares regression line

```GGRAPH
/GRAPHDATASET NAME="GraphDataset" VARIABLES= minutes units
/GRAPHSPEC SOURCE=INLINE
BEGIN GPL
SOURCE: s=userSource( id( "GraphDataset" ) )
DATA: minutes=col( source(s), name( "minutes" ) )
DATA: units=col( source(s), name( "units" ) )
GUIDE: axis( dim( 1 ), label( "units" ) )
GUIDE: axis( dim( 2 ), label( "minutes" ) )
ELEMENT: point( position( ( units * minutes ) ) )
END GPL.```

Table 2.8, page 36 regression output for the computer repair data

```regression
/statistics coef
/dependent = minutes
/method = enter units.```

Standard error for mean prediction, page 39

`list units minutes semu.`
```   units  minutes        semu

1       23     2.90717
2       29     2.48124
3       49     2.09082
4       64     1.75969
4       74     1.75969
5       87     1.52692
6       96     1.44100
6       97     1.44100
7      109     1.52692
8      119     1.75969
9      149     2.09082
9      145     2.09082
10      154     2.48124
10      166     2.48124

Number of cases read:  14    Number of cases listed:  14```

Correlations, page 43

`correlations variables = minutes units yhat.`

NOTE: (.994)^2 = .987 = R^2