Free Statistics

of Irreproducible Research!

Author's title

Author*The author of this computation has been verified*
R Software Modulerwasp_multipleregression.wasp
Title produced by softwareMultiple Regression
Date of computationWed, 25 Jan 2017 09:28:19 +0100
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2017/Jan/25/t14853329040knh60a8hhqxzzk.htm/, Retrieved Mon, 13 May 2024 22:41:44 +0200
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=, Retrieved Mon, 13 May 2024 22:41:44 +0200
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact0
Dataseries X:
6 1 1 0 0 0 3.2 3.2 10.24
7 0 0 1 0 1 3.3 0 10.89
2 1 0 1 1 1 3 3 9
11 0 0 1 0 1 3.5 0 12.25
13 1 0 1 0 0 3.7 3.7 13.69
3 0 1 0 0 0 2.7 0 7.29
17 1 0 1 1 1 3.6 3.6 12.96
10 0 0 1 0 1 3.5 0 12.25
4 1 1 0 0 0 3.8 3.8 14.44
12 0 0 1 0 0 3.4 0 11.56
7 1 0 0 0 1 3.7 3.7 13.69
11 0 0 1 0 0 3.5 0 12.25
3 1 0 0 1 0 2.8 2.8 7.84
5 0 1 0 1 0 3.8 0 14.44
1 1 0 1 0 0 4.3 4.3 18.49
12 0 0 0 0 1 3.3 0 10.89
18 1 0 0 0 0 3.6 3.6 12.96
8 0 1 0 1 0 3.6 0 12.96
6 1 1 1 0 0 3.3 3.3 10.89
1 0 0 0 0 0 2.8 0 7.84




Summary of computational transaction
Raw Input view raw input (R code)
Raw Outputview raw output of R engine
Computing time6 seconds
R ServerBig Analytics Cloud Computing Center

\begin{tabular}{lllllllll}
\hline
Summary of computational transaction \tabularnewline
Raw Input view raw input (R code)  \tabularnewline
Raw Outputview raw output of R engine  \tabularnewline
Computing time6 seconds \tabularnewline
R ServerBig Analytics Cloud Computing Center \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=&T=0

[TABLE]
[ROW]
Summary of computational transaction[/C][/ROW] [ROW]Raw Input[/C] view raw input (R code) [/C][/ROW] [ROW]Raw Output[/C]view raw output of R engine [/C][/ROW] [ROW]Computing time[/C]6 seconds[/C][/ROW] [ROW]R Server[/C]Big Analytics Cloud Computing Center[/C][/ROW] [/TABLE] Source: https://freestatistics.org/blog/index.php?pk=&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=&T=0

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Summary of computational transaction
Raw Input view raw input (R code)
Raw Outputview raw output of R engine
Computing time6 seconds
R ServerBig Analytics Cloud Computing Center







Multiple Linear Regression - Estimated Regression Equation
Score[t] = -257.794 -44.4619Geslacht[t] -4.8654X1[t] -0.217231X2[t] + 3.22869X3[t] -2.92673X4[t] + 163.222X5[t] + 13.1261Inter[t] -24.6204X6[t] + e[t]

\begin{tabular}{lllllllll}
\hline
Multiple Linear Regression - Estimated Regression Equation \tabularnewline
Score[t] =  -257.794 -44.4619Geslacht[t] -4.8654X1[t] -0.217231X2[t] +  3.22869X3[t] -2.92673X4[t] +  163.222X5[t] +  13.1261Inter[t] -24.6204X6[t]  + e[t] \tabularnewline
 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=&T=1

[TABLE]
[ROW][C]Multiple Linear Regression - Estimated Regression Equation[/C][/ROW]
[ROW][C]Score[t] =  -257.794 -44.4619Geslacht[t] -4.8654X1[t] -0.217231X2[t] +  3.22869X3[t] -2.92673X4[t] +  163.222X5[t] +  13.1261Inter[t] -24.6204X6[t]  + e[t][/C][/ROW]
[ROW][C][/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=&T=1

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Multiple Linear Regression - Estimated Regression Equation
Score[t] = -257.794 -44.4619Geslacht[t] -4.8654X1[t] -0.217231X2[t] + 3.22869X3[t] -2.92673X4[t] + 163.222X5[t] + 13.1261Inter[t] -24.6204X6[t] + e[t]







Multiple Linear Regression - Ordinary Least Squares
VariableParameterS.D.T-STATH0: parameter = 02-tail p-value1-tail p-value
(Intercept)-257.8 57.75-4.4640e+00 0.0009567 0.0004784
Geslacht-44.46 24.95-1.7820e+00 0.1023 0.05116
X1-4.865 2.155-2.2580e+00 0.04529 0.02264
X2-0.2172 1.849-1.1750e-01 0.9086 0.4543
X3+3.229 2.606+1.2390e+00 0.2412 0.1206
X4-2.927 2.123-1.3780e+00 0.1955 0.09773
X5+163.2 36.71+4.4460e+00 0.0009849 0.0004925
Inter+13.13 7.328+1.7910e+00 0.1008 0.05038
X6-24.62 5.804-4.2420e+00 0.001384 0.0006921

\begin{tabular}{lllllllll}
\hline
Multiple Linear Regression - Ordinary Least Squares \tabularnewline
Variable & Parameter & S.D. & T-STATH0: parameter = 0 & 2-tail p-value & 1-tail p-value \tabularnewline
(Intercept) & -257.8 &  57.75 & -4.4640e+00 &  0.0009567 &  0.0004784 \tabularnewline
Geslacht & -44.46 &  24.95 & -1.7820e+00 &  0.1023 &  0.05116 \tabularnewline
X1 & -4.865 &  2.155 & -2.2580e+00 &  0.04529 &  0.02264 \tabularnewline
X2 & -0.2172 &  1.849 & -1.1750e-01 &  0.9086 &  0.4543 \tabularnewline
X3 & +3.229 &  2.606 & +1.2390e+00 &  0.2412 &  0.1206 \tabularnewline
X4 & -2.927 &  2.123 & -1.3780e+00 &  0.1955 &  0.09773 \tabularnewline
X5 & +163.2 &  36.71 & +4.4460e+00 &  0.0009849 &  0.0004925 \tabularnewline
Inter & +13.13 &  7.328 & +1.7910e+00 &  0.1008 &  0.05038 \tabularnewline
X6 & -24.62 &  5.804 & -4.2420e+00 &  0.001384 &  0.0006921 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=&T=2

[TABLE]
[ROW][C]Multiple Linear Regression - Ordinary Least Squares[/C][/ROW]
[ROW][C]Variable[/C][C]Parameter[/C][C]S.D.[/C][C]T-STATH0: parameter = 0[/C][C]2-tail p-value[/C][C]1-tail p-value[/C][/ROW]
[ROW][C](Intercept)[/C][C]-257.8[/C][C] 57.75[/C][C]-4.4640e+00[/C][C] 0.0009567[/C][C] 0.0004784[/C][/ROW]
[ROW][C]Geslacht[/C][C]-44.46[/C][C] 24.95[/C][C]-1.7820e+00[/C][C] 0.1023[/C][C] 0.05116[/C][/ROW]
[ROW][C]X1[/C][C]-4.865[/C][C] 2.155[/C][C]-2.2580e+00[/C][C] 0.04529[/C][C] 0.02264[/C][/ROW]
[ROW][C]X2[/C][C]-0.2172[/C][C] 1.849[/C][C]-1.1750e-01[/C][C] 0.9086[/C][C] 0.4543[/C][/ROW]
[ROW][C]X3[/C][C]+3.229[/C][C] 2.606[/C][C]+1.2390e+00[/C][C] 0.2412[/C][C] 0.1206[/C][/ROW]
[ROW][C]X4[/C][C]-2.927[/C][C] 2.123[/C][C]-1.3780e+00[/C][C] 0.1955[/C][C] 0.09773[/C][/ROW]
[ROW][C]X5[/C][C]+163.2[/C][C] 36.71[/C][C]+4.4460e+00[/C][C] 0.0009849[/C][C] 0.0004925[/C][/ROW]
[ROW][C]Inter[/C][C]+13.13[/C][C] 7.328[/C][C]+1.7910e+00[/C][C] 0.1008[/C][C] 0.05038[/C][/ROW]
[ROW][C]X6[/C][C]-24.62[/C][C] 5.804[/C][C]-4.2420e+00[/C][C] 0.001384[/C][C] 0.0006921[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=&T=2

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=&T=2

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Multiple Linear Regression - Ordinary Least Squares
VariableParameterS.D.T-STATH0: parameter = 02-tail p-value1-tail p-value
(Intercept)-257.8 57.75-4.4640e+00 0.0009567 0.0004784
Geslacht-44.46 24.95-1.7820e+00 0.1023 0.05116
X1-4.865 2.155-2.2580e+00 0.04529 0.02264
X2-0.2172 1.849-1.1750e-01 0.9086 0.4543
X3+3.229 2.606+1.2390e+00 0.2412 0.1206
X4-2.927 2.123-1.3780e+00 0.1955 0.09773
X5+163.2 36.71+4.4460e+00 0.0009849 0.0004925
Inter+13.13 7.328+1.7910e+00 0.1008 0.05038
X6-24.62 5.804-4.2420e+00 0.001384 0.0006921







Multiple Linear Regression - Regression Statistics
Multiple R 0.8474
R-squared 0.7181
Adjusted R-squared 0.5131
F-TEST (value) 3.502
F-TEST (DF numerator)8
F-TEST (DF denominator)11
p-value 0.02904
Multiple Linear Regression - Residual Statistics
Residual Standard Deviation 3.502
Sum Squared Residuals 134.9

\begin{tabular}{lllllllll}
\hline
Multiple Linear Regression - Regression Statistics \tabularnewline
Multiple R &  0.8474 \tabularnewline
R-squared &  0.7181 \tabularnewline
Adjusted R-squared &  0.5131 \tabularnewline
F-TEST (value) &  3.502 \tabularnewline
F-TEST (DF numerator) & 8 \tabularnewline
F-TEST (DF denominator) & 11 \tabularnewline
p-value &  0.02904 \tabularnewline
Multiple Linear Regression - Residual Statistics \tabularnewline
Residual Standard Deviation &  3.502 \tabularnewline
Sum Squared Residuals &  134.9 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=&T=3

[TABLE]
[ROW][C]Multiple Linear Regression - Regression Statistics[/C][/ROW]
[ROW][C]Multiple R[/C][C] 0.8474[/C][/ROW]
[ROW][C]R-squared[/C][C] 0.7181[/C][/ROW]
[ROW][C]Adjusted R-squared[/C][C] 0.5131[/C][/ROW]
[ROW][C]F-TEST (value)[/C][C] 3.502[/C][/ROW]
[ROW][C]F-TEST (DF numerator)[/C][C]8[/C][/ROW]
[ROW][C]F-TEST (DF denominator)[/C][C]11[/C][/ROW]
[ROW][C]p-value[/C][C] 0.02904[/C][/ROW]
[ROW][C]Multiple Linear Regression - Residual Statistics[/C][/ROW]
[ROW][C]Residual Standard Deviation[/C][C] 3.502[/C][/ROW]
[ROW][C]Sum Squared Residuals[/C][C] 134.9[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=&T=3

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=&T=3

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Multiple Linear Regression - Regression Statistics
Multiple R 0.8474
R-squared 0.7181
Adjusted R-squared 0.5131
F-TEST (value) 3.502
F-TEST (DF numerator)8
F-TEST (DF denominator)11
p-value 0.02904
Multiple Linear Regression - Residual Statistics
Residual Standard Deviation 3.502
Sum Squared Residuals 134.9







Multiple Linear Regression - Actuals, Interpolation, and Residuals
Time or IndexActualsInterpolationForecastResidualsPrediction Error
1 6 5.08 0.9198
2 7 9.579-2.579
3 2 5.29-3.29
4 11 8.74 2.26
5 13 12.96 0.03781
6 3-1.442 4.442
7 17 13.6 3.398
8 10 8.74 1.26
9 4 7.484-3.484
10 12 12.33-0.3324
11 7 10.25-3.253
12 11 11.67-0.6666
13 3 1.724 1.276
14 5 5.295-0.2951
15 1 0.5933 0.4067
16 12 9.796 2.204
17 18 13.52 4.483
18 8 9.089-1.089
19 6 6.495-0.4945
20 1 6.204-5.204

\begin{tabular}{lllllllll}
\hline
Multiple Linear Regression - Actuals, Interpolation, and Residuals \tabularnewline
Time or Index & Actuals & InterpolationForecast & ResidualsPrediction Error \tabularnewline
1 &  6 &  5.08 &  0.9198 \tabularnewline
2 &  7 &  9.579 & -2.579 \tabularnewline
3 &  2 &  5.29 & -3.29 \tabularnewline
4 &  11 &  8.74 &  2.26 \tabularnewline
5 &  13 &  12.96 &  0.03781 \tabularnewline
6 &  3 & -1.442 &  4.442 \tabularnewline
7 &  17 &  13.6 &  3.398 \tabularnewline
8 &  10 &  8.74 &  1.26 \tabularnewline
9 &  4 &  7.484 & -3.484 \tabularnewline
10 &  12 &  12.33 & -0.3324 \tabularnewline
11 &  7 &  10.25 & -3.253 \tabularnewline
12 &  11 &  11.67 & -0.6666 \tabularnewline
13 &  3 &  1.724 &  1.276 \tabularnewline
14 &  5 &  5.295 & -0.2951 \tabularnewline
15 &  1 &  0.5933 &  0.4067 \tabularnewline
16 &  12 &  9.796 &  2.204 \tabularnewline
17 &  18 &  13.52 &  4.483 \tabularnewline
18 &  8 &  9.089 & -1.089 \tabularnewline
19 &  6 &  6.495 & -0.4945 \tabularnewline
20 &  1 &  6.204 & -5.204 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=&T=4

[TABLE]
[ROW][C]Multiple Linear Regression - Actuals, Interpolation, and Residuals[/C][/ROW]
[ROW][C]Time or Index[/C][C]Actuals[/C][C]InterpolationForecast[/C][C]ResidualsPrediction Error[/C][/ROW]
[ROW][C]1[/C][C] 6[/C][C] 5.08[/C][C] 0.9198[/C][/ROW]
[ROW][C]2[/C][C] 7[/C][C] 9.579[/C][C]-2.579[/C][/ROW]
[ROW][C]3[/C][C] 2[/C][C] 5.29[/C][C]-3.29[/C][/ROW]
[ROW][C]4[/C][C] 11[/C][C] 8.74[/C][C] 2.26[/C][/ROW]
[ROW][C]5[/C][C] 13[/C][C] 12.96[/C][C] 0.03781[/C][/ROW]
[ROW][C]6[/C][C] 3[/C][C]-1.442[/C][C] 4.442[/C][/ROW]
[ROW][C]7[/C][C] 17[/C][C] 13.6[/C][C] 3.398[/C][/ROW]
[ROW][C]8[/C][C] 10[/C][C] 8.74[/C][C] 1.26[/C][/ROW]
[ROW][C]9[/C][C] 4[/C][C] 7.484[/C][C]-3.484[/C][/ROW]
[ROW][C]10[/C][C] 12[/C][C] 12.33[/C][C]-0.3324[/C][/ROW]
[ROW][C]11[/C][C] 7[/C][C] 10.25[/C][C]-3.253[/C][/ROW]
[ROW][C]12[/C][C] 11[/C][C] 11.67[/C][C]-0.6666[/C][/ROW]
[ROW][C]13[/C][C] 3[/C][C] 1.724[/C][C] 1.276[/C][/ROW]
[ROW][C]14[/C][C] 5[/C][C] 5.295[/C][C]-0.2951[/C][/ROW]
[ROW][C]15[/C][C] 1[/C][C] 0.5933[/C][C] 0.4067[/C][/ROW]
[ROW][C]16[/C][C] 12[/C][C] 9.796[/C][C] 2.204[/C][/ROW]
[ROW][C]17[/C][C] 18[/C][C] 13.52[/C][C] 4.483[/C][/ROW]
[ROW][C]18[/C][C] 8[/C][C] 9.089[/C][C]-1.089[/C][/ROW]
[ROW][C]19[/C][C] 6[/C][C] 6.495[/C][C]-0.4945[/C][/ROW]
[ROW][C]20[/C][C] 1[/C][C] 6.204[/C][C]-5.204[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=&T=4

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=&T=4

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Multiple Linear Regression - Actuals, Interpolation, and Residuals
Time or IndexActualsInterpolationForecastResidualsPrediction Error
1 6 5.08 0.9198
2 7 9.579-2.579
3 2 5.29-3.29
4 11 8.74 2.26
5 13 12.96 0.03781
6 3-1.442 4.442
7 17 13.6 3.398
8 10 8.74 1.26
9 4 7.484-3.484
10 12 12.33-0.3324
11 7 10.25-3.253
12 11 11.67-0.6666
13 3 1.724 1.276
14 5 5.295-0.2951
15 1 0.5933 0.4067
16 12 9.796 2.204
17 18 13.52 4.483
18 8 9.089-1.089
19 6 6.495-0.4945
20 1 6.204-5.204







Ramsey RESET F-Test for powers (2 and 3) of fitted values
> reset_test_fitted
	RESET test
data:  mylm
RESET = 19.324, df1 = 2, df2 = 9, p-value = 0.0005533
Ramsey RESET F-Test for powers (2 and 3) of regressors
> reset_test_regressors
	RESET test
data:  mylm
RESET = -0.97854, df1 = 16, df2 = -5, p-value = NA
Ramsey RESET F-Test for powers (2 and 3) of principal components
> reset_test_principal_components
	RESET test
data:  mylm
RESET = 0.92151, df1 = 2, df2 = 9, p-value = 0.4324

\begin{tabular}{lllllllll}
\hline
Ramsey RESET F-Test for powers (2 and 3) of fitted values \tabularnewline
> reset_test_fitted
	RESET test
data:  mylm
RESET = 19.324, df1 = 2, df2 = 9, p-value = 0.0005533
\tabularnewline Ramsey RESET F-Test for powers (2 and 3) of regressors \tabularnewline
> reset_test_regressors
	RESET test
data:  mylm
RESET = -0.97854, df1 = 16, df2 = -5, p-value = NA
\tabularnewline Ramsey RESET F-Test for powers (2 and 3) of principal components \tabularnewline
> reset_test_principal_components
	RESET test
data:  mylm
RESET = 0.92151, df1 = 2, df2 = 9, p-value = 0.4324
\tabularnewline \hline \end{tabular} %Source: https://freestatistics.org/blog/index.php?pk=&T=5

[TABLE]
[ROW][C]Ramsey RESET F-Test for powers (2 and 3) of fitted values[/C][/ROW]
[ROW][C]
> reset_test_fitted
	RESET test
data:  mylm
RESET = 19.324, df1 = 2, df2 = 9, p-value = 0.0005533
[/C][/ROW] [ROW][C]Ramsey RESET F-Test for powers (2 and 3) of regressors[/C][/ROW] [ROW][C]
> reset_test_regressors
	RESET test
data:  mylm
RESET = -0.97854, df1 = 16, df2 = -5, p-value = NA
[/C][/ROW] [ROW][C]Ramsey RESET F-Test for powers (2 and 3) of principal components[/C][/ROW] [ROW][C]
> reset_test_principal_components
	RESET test
data:  mylm
RESET = 0.92151, df1 = 2, df2 = 9, p-value = 0.4324
[/C][/ROW] [/TABLE] Source: https://freestatistics.org/blog/index.php?pk=&T=5

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=&T=5

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Ramsey RESET F-Test for powers (2 and 3) of fitted values
> reset_test_fitted
	RESET test
data:  mylm
RESET = 19.324, df1 = 2, df2 = 9, p-value = 0.0005533
Ramsey RESET F-Test for powers (2 and 3) of regressors
> reset_test_regressors
	RESET test
data:  mylm
RESET = -0.97854, df1 = 16, df2 = -5, p-value = NA
Ramsey RESET F-Test for powers (2 and 3) of principal components
> reset_test_principal_components
	RESET test
data:  mylm
RESET = 0.92151, df1 = 2, df2 = 9, p-value = 0.4324







Variance Inflation Factors (Multicollinearity)
> vif
  Geslacht         X1         X2         X3         X4         X5      Inter 
253.760008   1.590610   1.393797   2.076499   1.672483 317.781701 275.595478 
        X6 
370.696086 

\begin{tabular}{lllllllll}
\hline
Variance Inflation Factors (Multicollinearity) \tabularnewline
> vif
  Geslacht         X1         X2         X3         X4         X5      Inter 
253.760008   1.590610   1.393797   2.076499   1.672483 317.781701 275.595478 
        X6 
370.696086 
\tabularnewline \hline \end{tabular} %Source: https://freestatistics.org/blog/index.php?pk=&T=6

[TABLE]
[ROW][C]Variance Inflation Factors (Multicollinearity)[/C][/ROW]
[ROW][C]
> vif
  Geslacht         X1         X2         X3         X4         X5      Inter 
253.760008   1.590610   1.393797   2.076499   1.672483 317.781701 275.595478 
        X6 
370.696086 
[/C][/ROW] [/TABLE] Source: https://freestatistics.org/blog/index.php?pk=&T=6

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=&T=6

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Variance Inflation Factors (Multicollinearity)
> vif
  Geslacht         X1         X2         X3         X4         X5      Inter 
253.760008   1.590610   1.393797   2.076499   1.672483 317.781701 275.595478 
        X6 
370.696086 



Parameters (Session):
par1 = 1111111111111 ; par2 = 222Do not include Seasonal DummiesDo not include Seasonal Dummies22Do not include Seasonal DummiesDo not include Seasonal DummiesDo not include Seasonal DummiesDo not include Seasonal DummiesDo not include Seasonal DummiesDo not include Seasonal Dummies ; par3 = FALSETRUETRUETRUETRUETRUETRUETRUETRUETRUETRUETRUETRUE ;
Parameters (R input):
par1 = 1 ; par2 = Do not include Seasonal Dummies ; par3 = TRUE ; par4 = ; par5 = ;
R code (references can be found in the software module):
library(lattice)
library(lmtest)
library(car)
library(MASS)
n25 <- 25 #minimum number of obs. for Goldfeld-Quandt test
mywarning <- ''
par1 <- as.numeric(par1)
if(is.na(par1)) {
par1 <- 1
mywarning = 'Warning: you did not specify the column number of the endogenous series! The first column was selected by default.'
}
if (par4=='') par4 <- 0
par4 <- as.numeric(par4)
if (par5=='') par5 <- 0
par5 <- as.numeric(par5)
x <- na.omit(t(y))
k <- length(x[1,])
n <- length(x[,1])
x1 <- cbind(x[,par1], x[,1:k!=par1])
mycolnames <- c(colnames(x)[par1], colnames(x)[1:k!=par1])
colnames(x1) <- mycolnames #colnames(x)[par1]
x <- x1
if (par3 == 'First Differences'){
(n <- n -1)
x2 <- array(0, dim=c(n,k), dimnames=list(1:n, paste('(1-B)',colnames(x),sep='')))
for (i in 1:n) {
for (j in 1:k) {
x2[i,j] <- x[i+1,j] - x[i,j]
}
}
x <- x2
}
if (par3 == 'Seasonal Differences (s=12)'){
(n <- n - 12)
x2 <- array(0, dim=c(n,k), dimnames=list(1:n, paste('(1-B12)',colnames(x),sep='')))
for (i in 1:n) {
for (j in 1:k) {
x2[i,j] <- x[i+12,j] - x[i,j]
}
}
x <- x2
}
if (par3 == 'First and Seasonal Differences (s=12)'){
(n <- n -1)
x2 <- array(0, dim=c(n,k), dimnames=list(1:n, paste('(1-B)',colnames(x),sep='')))
for (i in 1:n) {
for (j in 1:k) {
x2[i,j] <- x[i+1,j] - x[i,j]
}
}
x <- x2
(n <- n - 12)
x2 <- array(0, dim=c(n,k), dimnames=list(1:n, paste('(1-B12)',colnames(x),sep='')))
for (i in 1:n) {
for (j in 1:k) {
x2[i,j] <- x[i+12,j] - x[i,j]
}
}
x <- x2
}
if(par4 > 0) {
x2 <- array(0, dim=c(n-par4,par4), dimnames=list(1:(n-par4), paste(colnames(x)[par1],'(t-',1:par4,')',sep='')))
for (i in 1:(n-par4)) {
for (j in 1:par4) {
x2[i,j] <- x[i+par4-j,par1]
}
}
x <- cbind(x[(par4+1):n,], x2)
n <- n - par4
}
if(par5 > 0) {
x2 <- array(0, dim=c(n-par5*12,par5), dimnames=list(1:(n-par5*12), paste(colnames(x)[par1],'(t-',1:par5,'s)',sep='')))
for (i in 1:(n-par5*12)) {
for (j in 1:par5) {
x2[i,j] <- x[i+par5*12-j*12,par1]
}
}
x <- cbind(x[(par5*12+1):n,], x2)
n <- n - par5*12
}
if (par2 == 'Include Monthly Dummies'){
x2 <- array(0, dim=c(n,11), dimnames=list(1:n, paste('M', seq(1:11), sep ='')))
for (i in 1:11){
x2[seq(i,n,12),i] <- 1
}
x <- cbind(x, x2)
}
if (par2 == 'Include Quarterly Dummies'){
x2 <- array(0, dim=c(n,3), dimnames=list(1:n, paste('Q', seq(1:3), sep ='')))
for (i in 1:3){
x2[seq(i,n,4),i] <- 1
}
x <- cbind(x, x2)
}
(k <- length(x[n,]))
if (par3 == 'Linear Trend'){
x <- cbind(x, c(1:n))
colnames(x)[k+1] <- 't'
}
print(x)
(k <- length(x[n,]))
head(x)
df <- as.data.frame(x)
(mylm <- lm(df))
(mysum <- summary(mylm))
if (n > n25) {
kp3 <- k + 3
nmkm3 <- n - k - 3
gqarr <- array(NA, dim=c(nmkm3-kp3+1,3))
numgqtests <- 0
numsignificant1 <- 0
numsignificant5 <- 0
numsignificant10 <- 0
for (mypoint in kp3:nmkm3) {
j <- 0
numgqtests <- numgqtests + 1
for (myalt in c('greater', 'two.sided', 'less')) {
j <- j + 1
gqarr[mypoint-kp3+1,j] <- gqtest(mylm, point=mypoint, alternative=myalt)$p.value
}
if (gqarr[mypoint-kp3+1,2] < 0.01) numsignificant1 <- numsignificant1 + 1
if (gqarr[mypoint-kp3+1,2] < 0.05) numsignificant5 <- numsignificant5 + 1
if (gqarr[mypoint-kp3+1,2] < 0.10) numsignificant10 <- numsignificant10 + 1
}
gqarr
}
bitmap(file='test0.png')
plot(x[,1], type='l', main='Actuals and Interpolation', ylab='value of Actuals and Interpolation (dots)', xlab='time or index')
points(x[,1]-mysum$resid)
grid()
dev.off()
bitmap(file='test1.png')
plot(mysum$resid, type='b', pch=19, main='Residuals', ylab='value of Residuals', xlab='time or index')
grid()
dev.off()
bitmap(file='test2.png')
sresid <- studres(mylm)
hist(sresid, freq=FALSE, main='Distribution of Studentized Residuals')
xfit<-seq(min(sresid),max(sresid),length=40)
yfit<-dnorm(xfit)
lines(xfit, yfit)
grid()
dev.off()
bitmap(file='test3.png')
densityplot(~mysum$resid,col='black',main='Residual Density Plot', xlab='values of Residuals')
dev.off()
bitmap(file='test4.png')
qqPlot(mylm, main='QQ Plot')
grid()
dev.off()
(myerror <- as.ts(mysum$resid))
bitmap(file='test5.png')
dum <- cbind(lag(myerror,k=1),myerror)
dum
dum1 <- dum[2:length(myerror),]
dum1
z <- as.data.frame(dum1)
print(z)
plot(z,main=paste('Residual Lag plot, lowess, and regression line'), ylab='values of Residuals', xlab='lagged values of Residuals')
lines(lowess(z))
abline(lm(z))
grid()
dev.off()
bitmap(file='test6.png')
acf(mysum$resid, lag.max=length(mysum$resid)/2, main='Residual Autocorrelation Function')
grid()
dev.off()
bitmap(file='test7.png')
pacf(mysum$resid, lag.max=length(mysum$resid)/2, main='Residual Partial Autocorrelation Function')
grid()
dev.off()
bitmap(file='test8.png')
opar <- par(mfrow = c(2,2), oma = c(0, 0, 1.1, 0))
plot(mylm, las = 1, sub='Residual Diagnostics')
par(opar)
dev.off()
if (n > n25) {
bitmap(file='test9.png')
plot(kp3:nmkm3,gqarr[,2], main='Goldfeld-Quandt test',ylab='2-sided p-value',xlab='breakpoint')
grid()
dev.off()
}
load(file='createtable')
a<-table.start()
a<-table.row.start(a)
a<-table.element(a, 'Multiple Linear Regression - Estimated Regression Equation', 1, TRUE)
a<-table.row.end(a)
myeq <- colnames(x)[1]
myeq <- paste(myeq, '[t] = ', sep='')
for (i in 1:k){
if (mysum$coefficients[i,1] > 0) myeq <- paste(myeq, '+', '')
myeq <- paste(myeq, signif(mysum$coefficients[i,1],6), sep=' ')
if (rownames(mysum$coefficients)[i] != '(Intercept)') {
myeq <- paste(myeq, rownames(mysum$coefficients)[i], sep='')
if (rownames(mysum$coefficients)[i] != 't') myeq <- paste(myeq, '[t]', sep='')
}
}
myeq <- paste(myeq, ' + e[t]')
a<-table.row.start(a)
a<-table.element(a, myeq)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, mywarning)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable1.tab')
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Multiple Linear Regression - Ordinary Least Squares', 6, TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Variable',header=TRUE)
a<-table.element(a,'Parameter',header=TRUE)
a<-table.element(a,'S.D.',header=TRUE)
a<-table.element(a,'T-STAT
H0: parameter = 0',header=TRUE)
a<-table.element(a,'2-tail p-value',header=TRUE)
a<-table.element(a,'1-tail p-value',header=TRUE)
a<-table.row.end(a)
for (i in 1:k){
a<-table.row.start(a)
a<-table.element(a,rownames(mysum$coefficients)[i],header=TRUE)
a<-table.element(a,formatC(signif(mysum$coefficients[i,1],5),format='g',flag='+'))
a<-table.element(a,formatC(signif(mysum$coefficients[i,2],5),format='g',flag=' '))
a<-table.element(a,formatC(signif(mysum$coefficients[i,3],4),format='e',flag='+'))
a<-table.element(a,formatC(signif(mysum$coefficients[i,4],4),format='g',flag=' '))
a<-table.element(a,formatC(signif(mysum$coefficients[i,4]/2,4),format='g',flag=' '))
a<-table.row.end(a)
}
a<-table.end(a)
table.save(a,file='mytable2.tab')
a<-table.start()
a<-table.row.start(a)
a<-table.element(a, 'Multiple Linear Regression - Regression Statistics', 2, TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, 'Multiple R',1,TRUE)
a<-table.element(a,formatC(signif(sqrt(mysum$r.squared),6),format='g',flag=' '))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, 'R-squared',1,TRUE)
a<-table.element(a,formatC(signif(mysum$r.squared,6),format='g',flag=' '))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, 'Adjusted R-squared',1,TRUE)
a<-table.element(a,formatC(signif(mysum$adj.r.squared,6),format='g',flag=' '))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, 'F-TEST (value)',1,TRUE)
a<-table.element(a,formatC(signif(mysum$fstatistic[1],6),format='g',flag=' '))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, 'F-TEST (DF numerator)',1,TRUE)
a<-table.element(a, signif(mysum$fstatistic[2],6))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, 'F-TEST (DF denominator)',1,TRUE)
a<-table.element(a, signif(mysum$fstatistic[3],6))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, 'p-value',1,TRUE)
a<-table.element(a,formatC(signif(1-pf(mysum$fstatistic[1],mysum$fstatistic[2],mysum$fstatistic[3]),6),format='g',flag=' '))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, 'Multiple Linear Regression - Residual Statistics', 2, TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, 'Residual Standard Deviation',1,TRUE)
a<-table.element(a,formatC(signif(mysum$sigma,6),format='g',flag=' '))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, 'Sum Squared Residuals',1,TRUE)
a<-table.element(a,formatC(signif(sum(myerror*myerror),6),format='g',flag=' '))
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable3.tab')
myr <- as.numeric(mysum$resid)
myr
if(n < 200) {
a<-table.start()
a<-table.row.start(a)
a<-table.element(a, 'Multiple Linear Regression - Actuals, Interpolation, and Residuals', 4, TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, 'Time or Index', 1, TRUE)
a<-table.element(a, 'Actuals', 1, TRUE)
a<-table.element(a, 'Interpolation
Forecast', 1, TRUE)
a<-table.element(a, 'Residuals
Prediction Error', 1, TRUE)
a<-table.row.end(a)
for (i in 1:n) {
a<-table.row.start(a)
a<-table.element(a,i, 1, TRUE)
a<-table.element(a,formatC(signif(x[i],6),format='g',flag=' '))
a<-table.element(a,formatC(signif(x[i]-mysum$resid[i],6),format='g',flag=' '))
a<-table.element(a,formatC(signif(mysum$resid[i],6),format='g',flag=' '))
a<-table.row.end(a)
}
a<-table.end(a)
table.save(a,file='mytable4.tab')
if (n > n25) {
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Goldfeld-Quandt test for Heteroskedasticity',4,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'p-values',header=TRUE)
a<-table.element(a,'Alternative Hypothesis',3,header=TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'breakpoint index',header=TRUE)
a<-table.element(a,'greater',header=TRUE)
a<-table.element(a,'2-sided',header=TRUE)
a<-table.element(a,'less',header=TRUE)
a<-table.row.end(a)
for (mypoint in kp3:nmkm3) {
a<-table.row.start(a)
a<-table.element(a,mypoint,header=TRUE)
a<-table.element(a,formatC(signif(gqarr[mypoint-kp3+1,1],6),format='g',flag=' '))
a<-table.element(a,formatC(signif(gqarr[mypoint-kp3+1,2],6),format='g',flag=' '))
a<-table.element(a,formatC(signif(gqarr[mypoint-kp3+1,3],6),format='g',flag=' '))
a<-table.row.end(a)
}
a<-table.end(a)
table.save(a,file='mytable5.tab')
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Meta Analysis of Goldfeld-Quandt test for Heteroskedasticity',4,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Description',header=TRUE)
a<-table.element(a,'# significant tests',header=TRUE)
a<-table.element(a,'% significant tests',header=TRUE)
a<-table.element(a,'OK/NOK',header=TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'1% type I error level',header=TRUE)
a<-table.element(a,signif(numsignificant1,6))
a<-table.element(a,formatC(signif(numsignificant1/numgqtests,6),format='g',flag=' '))
if (numsignificant1/numgqtests < 0.01) dum <- 'OK' else dum <- 'NOK'
a<-table.element(a,dum)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'5% type I error level',header=TRUE)
a<-table.element(a,signif(numsignificant5,6))
a<-table.element(a,signif(numsignificant5/numgqtests,6))
if (numsignificant5/numgqtests < 0.05) dum <- 'OK' else dum <- 'NOK'
a<-table.element(a,dum)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'10% type I error level',header=TRUE)
a<-table.element(a,signif(numsignificant10,6))
a<-table.element(a,signif(numsignificant10/numgqtests,6))
if (numsignificant10/numgqtests < 0.1) dum <- 'OK' else dum <- 'NOK'
a<-table.element(a,dum)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable6.tab')
}
}
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Ramsey RESET F-Test for powers (2 and 3) of fitted values',1,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
reset_test_fitted <- resettest(mylm,power=2:3,type='fitted')
a<-table.element(a,paste('
',RC.texteval('reset_test_fitted'),'
',sep=''))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Ramsey RESET F-Test for powers (2 and 3) of regressors',1,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
reset_test_regressors <- resettest(mylm,power=2:3,type='regressor')
a<-table.element(a,paste('
',RC.texteval('reset_test_regressors'),'
',sep=''))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Ramsey RESET F-Test for powers (2 and 3) of principal components',1,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
reset_test_principal_components <- resettest(mylm,power=2:3,type='princomp')
a<-table.element(a,paste('
',RC.texteval('reset_test_principal_components'),'
',sep=''))
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable8.tab')
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Variance Inflation Factors (Multicollinearity)',1,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
vif <- vif(mylm)
a<-table.element(a,paste('
',RC.texteval('vif'),'
',sep=''))
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable9.tab')