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 computationFri, 13 Jan 2017 11:10:01 +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/13/t14843022181vmrdzo9uuajmf2.htm/, Retrieved Mon, 13 May 2024 23:14:04 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=303216, Retrieved Mon, 13 May 2024 23:14:04 +0000
QR Codes:

Original text written by user:v8
IsPrivate?No (this computation is public)
User-defined keywordsv8
Estimated Impact127
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [Multiple Regression] [v8] [2017-01-13 10:10:01] [44bfb5970ea316ee311f3b9a25a26d11] [Current]
Feedback Forum

Post a new message
Dataseries X:
149
139
148
158
128
224
159
105
159
167
165
159
119
176
54
91
163
124
137
121
153
148
221
188
149
244
148
92
150
153
94
156
132
161
105
97
151
131
166
157
111
145
162
163
59
187
109
90
105
83
116
42
148
155
125
116
128
138
49
96
164
162
99
202
186
66
183
214
188
104
177
126
76
99
139
162
108
159
74
110
96
116
87
97
127
106
80
74
91
133
74
114
140
95
98
121
126
98
95
110
70
102
86
130
96
102
100
94
52
98
118
99
48
50
150
154
109
68
194
158
159
67
147
39
100
111
138
101
131
101
114
165
114
111
75
82
121
32
150
117
71
165
154
126
149
145
120
109
132
172
169
114
156
172
68
89
167
113
115
78
118
87
173
2
162
49
122
96
100
82
100
115
141
165
165
110
118
158
146
49
90
121
155
104
147
110
108
113
115
61
60
109
68
111
77
73
151
89
78
110
220
65
141
117
122
63
44
52
131
101
42
152
107
77
154
103
96
175
57
112
143
49
110
131
167
56
137
86
121
149
168
140
88
168
94
51
48
145
66
85
109
63
102
162
86
114
164
119
126
132
142
83
94
81
166
110
64
93
104
105
49
88
95
102
99
63
76
109
117
57
120
73
91
108
105
117
119
31




Summary of computational transaction
Raw Input view raw input (R code)
Raw Outputview raw output of R engine
Computing time8 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 time8 seconds \tabularnewline
R ServerBig Analytics Cloud Computing Center \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=303216&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]8 seconds[/C][/ROW] [ROW]R Server[/C]Big Analytics Cloud Computing Center[/C][/ROW] [/TABLE] Source: https://freestatistics.org/blog/index.php?pk=303216&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=303216&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 time8 seconds
R ServerBig Analytics Cloud Computing Center







Multiple Linear Regression - Estimated Regression Equation
LFM[t] = + 132.85 + 5.94964M1[t] + 1.35138M2[t] -0.843901M3[t] -4.73564M4[t] + 7.15523M5[t] + 3.69827M6[t] + 12.5457M7[t] + 4.95827M8[t] + 11.197M9[t] + 4.47913M10[t] + 10.9787M11[t] -0.151738t + e[t]

\begin{tabular}{lllllllll}
\hline
Multiple Linear Regression - Estimated Regression Equation \tabularnewline
LFM[t] =  +  132.85 +  5.94964M1[t] +  1.35138M2[t] -0.843901M3[t] -4.73564M4[t] +  7.15523M5[t] +  3.69827M6[t] +  12.5457M7[t] +  4.95827M8[t] +  11.197M9[t] +  4.47913M10[t] +  10.9787M11[t] -0.151738t  + e[t] \tabularnewline
 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=303216&T=1

[TABLE]
[ROW][C]Multiple Linear Regression - Estimated Regression Equation[/C][/ROW]
[ROW][C]LFM[t] =  +  132.85 +  5.94964M1[t] +  1.35138M2[t] -0.843901M3[t] -4.73564M4[t] +  7.15523M5[t] +  3.69827M6[t] +  12.5457M7[t] +  4.95827M8[t] +  11.197M9[t] +  4.47913M10[t] +  10.9787M11[t] -0.151738t  + e[t][/C][/ROW]
[ROW][C][/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=303216&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=303216&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
LFM[t] = + 132.85 + 5.94964M1[t] + 1.35138M2[t] -0.843901M3[t] -4.73564M4[t] + 7.15523M5[t] + 3.69827M6[t] + 12.5457M7[t] + 4.95827M8[t] + 11.197M9[t] + 4.47913M10[t] + 10.9787M11[t] -0.151738t + e[t]







Multiple Linear Regression - Ordinary Least Squares
VariableParameterS.D.T-STATH0: parameter = 02-tail p-value1-tail p-value
(Intercept)+132.8 9.022+1.4720e+01 2.879e-36 1.44e-36
M1+5.95 11.22+5.3030e-01 0.5963 0.2982
M2+1.351 11.22+1.2050e-01 0.9042 0.4521
M3-0.8439 11.34-7.4420e-02 0.9407 0.4704
M4-4.736 11.34-4.1760e-01 0.6766 0.3383
M5+7.155 11.34+6.3100e-01 0.5286 0.2643
M6+3.698 11.34+3.2620e-01 0.7445 0.3723
M7+12.55 11.34+1.1070e+00 0.2695 0.1348
M8+4.958 11.34+4.3730e-01 0.6622 0.3311
M9+11.2 11.34+9.8760e-01 0.3242 0.1621
M10+4.479 11.34+3.9510e-01 0.6931 0.3465
M11+10.98 11.34+9.6840e-01 0.3337 0.1669
t-0.1517 0.02875-5.2780e+00 2.717e-07 1.359e-07

\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) & +132.8 &  9.022 & +1.4720e+01 &  2.879e-36 &  1.44e-36 \tabularnewline
M1 & +5.95 &  11.22 & +5.3030e-01 &  0.5963 &  0.2982 \tabularnewline
M2 & +1.351 &  11.22 & +1.2050e-01 &  0.9042 &  0.4521 \tabularnewline
M3 & -0.8439 &  11.34 & -7.4420e-02 &  0.9407 &  0.4704 \tabularnewline
M4 & -4.736 &  11.34 & -4.1760e-01 &  0.6766 &  0.3383 \tabularnewline
M5 & +7.155 &  11.34 & +6.3100e-01 &  0.5286 &  0.2643 \tabularnewline
M6 & +3.698 &  11.34 & +3.2620e-01 &  0.7445 &  0.3723 \tabularnewline
M7 & +12.55 &  11.34 & +1.1070e+00 &  0.2695 &  0.1348 \tabularnewline
M8 & +4.958 &  11.34 & +4.3730e-01 &  0.6622 &  0.3311 \tabularnewline
M9 & +11.2 &  11.34 & +9.8760e-01 &  0.3242 &  0.1621 \tabularnewline
M10 & +4.479 &  11.34 & +3.9510e-01 &  0.6931 &  0.3465 \tabularnewline
M11 & +10.98 &  11.34 & +9.6840e-01 &  0.3337 &  0.1669 \tabularnewline
t & -0.1517 &  0.02875 & -5.2780e+00 &  2.717e-07 &  1.359e-07 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=303216&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]+132.8[/C][C] 9.022[/C][C]+1.4720e+01[/C][C] 2.879e-36[/C][C] 1.44e-36[/C][/ROW]
[ROW][C]M1[/C][C]+5.95[/C][C] 11.22[/C][C]+5.3030e-01[/C][C] 0.5963[/C][C] 0.2982[/C][/ROW]
[ROW][C]M2[/C][C]+1.351[/C][C] 11.22[/C][C]+1.2050e-01[/C][C] 0.9042[/C][C] 0.4521[/C][/ROW]
[ROW][C]M3[/C][C]-0.8439[/C][C] 11.34[/C][C]-7.4420e-02[/C][C] 0.9407[/C][C] 0.4704[/C][/ROW]
[ROW][C]M4[/C][C]-4.736[/C][C] 11.34[/C][C]-4.1760e-01[/C][C] 0.6766[/C][C] 0.3383[/C][/ROW]
[ROW][C]M5[/C][C]+7.155[/C][C] 11.34[/C][C]+6.3100e-01[/C][C] 0.5286[/C][C] 0.2643[/C][/ROW]
[ROW][C]M6[/C][C]+3.698[/C][C] 11.34[/C][C]+3.2620e-01[/C][C] 0.7445[/C][C] 0.3723[/C][/ROW]
[ROW][C]M7[/C][C]+12.55[/C][C] 11.34[/C][C]+1.1070e+00[/C][C] 0.2695[/C][C] 0.1348[/C][/ROW]
[ROW][C]M8[/C][C]+4.958[/C][C] 11.34[/C][C]+4.3730e-01[/C][C] 0.6622[/C][C] 0.3311[/C][/ROW]
[ROW][C]M9[/C][C]+11.2[/C][C] 11.34[/C][C]+9.8760e-01[/C][C] 0.3242[/C][C] 0.1621[/C][/ROW]
[ROW][C]M10[/C][C]+4.479[/C][C] 11.34[/C][C]+3.9510e-01[/C][C] 0.6931[/C][C] 0.3465[/C][/ROW]
[ROW][C]M11[/C][C]+10.98[/C][C] 11.34[/C][C]+9.6840e-01[/C][C] 0.3337[/C][C] 0.1669[/C][/ROW]
[ROW][C]t[/C][C]-0.1517[/C][C] 0.02875[/C][C]-5.2780e+00[/C][C] 2.717e-07[/C][C] 1.359e-07[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=303216&T=2

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=303216&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)+132.8 9.022+1.4720e+01 2.879e-36 1.44e-36
M1+5.95 11.22+5.3030e-01 0.5963 0.2982
M2+1.351 11.22+1.2050e-01 0.9042 0.4521
M3-0.8439 11.34-7.4420e-02 0.9407 0.4704
M4-4.736 11.34-4.1760e-01 0.6766 0.3383
M5+7.155 11.34+6.3100e-01 0.5286 0.2643
M6+3.698 11.34+3.2620e-01 0.7445 0.3723
M7+12.55 11.34+1.1070e+00 0.2695 0.1348
M8+4.958 11.34+4.3730e-01 0.6622 0.3311
M9+11.2 11.34+9.8760e-01 0.3242 0.1621
M10+4.479 11.34+3.9510e-01 0.6931 0.3465
M11+10.98 11.34+9.6840e-01 0.3337 0.1669
t-0.1517 0.02875-5.2780e+00 2.717e-07 1.359e-07







Multiple Linear Regression - Regression Statistics
Multiple R 0.3299
R-squared 0.1089
Adjusted R-squared 0.06851
F-TEST (value) 2.698
F-TEST (DF numerator)12
F-TEST (DF denominator)265
p-value 0.001894
Multiple Linear Regression - Residual Statistics
Residual Standard Deviation 38.45
Sum Squared Residuals 3.917e+05

\begin{tabular}{lllllllll}
\hline
Multiple Linear Regression - Regression Statistics \tabularnewline
Multiple R &  0.3299 \tabularnewline
R-squared &  0.1089 \tabularnewline
Adjusted R-squared &  0.06851 \tabularnewline
F-TEST (value) &  2.698 \tabularnewline
F-TEST (DF numerator) & 12 \tabularnewline
F-TEST (DF denominator) & 265 \tabularnewline
p-value &  0.001894 \tabularnewline
Multiple Linear Regression - Residual Statistics \tabularnewline
Residual Standard Deviation &  38.45 \tabularnewline
Sum Squared Residuals &  3.917e+05 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=303216&T=3

[TABLE]
[ROW][C]Multiple Linear Regression - Regression Statistics[/C][/ROW]
[ROW][C]Multiple R[/C][C] 0.3299[/C][/ROW]
[ROW][C]R-squared[/C][C] 0.1089[/C][/ROW]
[ROW][C]Adjusted R-squared[/C][C] 0.06851[/C][/ROW]
[ROW][C]F-TEST (value)[/C][C] 2.698[/C][/ROW]
[ROW][C]F-TEST (DF numerator)[/C][C]12[/C][/ROW]
[ROW][C]F-TEST (DF denominator)[/C][C]265[/C][/ROW]
[ROW][C]p-value[/C][C] 0.001894[/C][/ROW]
[ROW][C]Multiple Linear Regression - Residual Statistics[/C][/ROW]
[ROW][C]Residual Standard Deviation[/C][C] 38.45[/C][/ROW]
[ROW][C]Sum Squared Residuals[/C][C] 3.917e+05[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=303216&T=3

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=303216&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.3299
R-squared 0.1089
Adjusted R-squared 0.06851
F-TEST (value) 2.698
F-TEST (DF numerator)12
F-TEST (DF denominator)265
p-value 0.001894
Multiple Linear Regression - Residual Statistics
Residual Standard Deviation 38.45
Sum Squared Residuals 3.917e+05







Ramsey RESET F-Test for powers (2 and 3) of fitted values
> reset_test_fitted
	RESET test
data:  mylm
RESET = 0.79914, df1 = 2, df2 = 263, p-value = 0.4508
Ramsey RESET F-Test for powers (2 and 3) of regressors
> reset_test_regressors
	RESET test
data:  mylm
RESET = 0.32794, df1 = 24, df2 = 241, p-value = 0.999
Ramsey RESET F-Test for powers (2 and 3) of principal components
> reset_test_principal_components
	RESET test
data:  mylm
RESET = 4.2945, df1 = 2, df2 = 263, p-value = 0.01461

\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 = 0.79914, df1 = 2, df2 = 263, p-value = 0.4508
\tabularnewline Ramsey RESET F-Test for powers (2 and 3) of regressors \tabularnewline
> reset_test_regressors
	RESET test
data:  mylm
RESET = 0.32794, df1 = 24, df2 = 241, p-value = 0.999
\tabularnewline Ramsey RESET F-Test for powers (2 and 3) of principal components \tabularnewline
> reset_test_principal_components
	RESET test
data:  mylm
RESET = 4.2945, df1 = 2, df2 = 263, p-value = 0.01461
\tabularnewline \hline \end{tabular} %Source: https://freestatistics.org/blog/index.php?pk=303216&T=4

[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 = 0.79914, df1 = 2, df2 = 263, p-value = 0.4508
[/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.32794, df1 = 24, df2 = 241, p-value = 0.999
[/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 = 4.2945, df1 = 2, df2 = 263, p-value = 0.01461
[/C][/ROW] [/TABLE] Source: https://freestatistics.org/blog/index.php?pk=303216&T=4

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

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 = 0.79914, df1 = 2, df2 = 263, p-value = 0.4508
Ramsey RESET F-Test for powers (2 and 3) of regressors
> reset_test_regressors
	RESET test
data:  mylm
RESET = 0.32794, df1 = 24, df2 = 241, p-value = 0.999
Ramsey RESET F-Test for powers (2 and 3) of principal components
> reset_test_principal_components
	RESET test
data:  mylm
RESET = 4.2945, df1 = 2, df2 = 263, p-value = 0.01461







Variance Inflation Factors (Multicollinearity)
> vif
      M1       M2       M3       M4       M5       M6       M7       M8 
1.867369 1.867259 1.835488 1.835287 1.835110 1.834957 1.834827 1.834721 
      M9      M10      M11        t 
1.834639 1.834580 1.834544 1.001068 

\begin{tabular}{lllllllll}
\hline
Variance Inflation Factors (Multicollinearity) \tabularnewline
> vif
      M1       M2       M3       M4       M5       M6       M7       M8 
1.867369 1.867259 1.835488 1.835287 1.835110 1.834957 1.834827 1.834721 
      M9      M10      M11        t 
1.834639 1.834580 1.834544 1.001068 
\tabularnewline \hline \end{tabular} %Source: https://freestatistics.org/blog/index.php?pk=303216&T=5

[TABLE]
[ROW][C]Variance Inflation Factors (Multicollinearity)[/C][/ROW]
[ROW][C]
> vif
      M1       M2       M3       M4       M5       M6       M7       M8 
1.867369 1.867259 1.835488 1.835287 1.835110 1.834957 1.834827 1.834721 
      M9      M10      M11        t 
1.834639 1.834580 1.834544 1.001068 
[/C][/ROW] [/TABLE] Source: https://freestatistics.org/blog/index.php?pk=303216&T=5

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

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
      M1       M2       M3       M4       M5       M6       M7       M8 
1.867369 1.867259 1.835488 1.835287 1.835110 1.834957 1.834827 1.834721 
      M9      M10      M11        t 
1.834639 1.834580 1.834544 1.001068 



Parameters (Session):
par1 = 1 ; par2 = Include Monthly Dummies ; par3 = Linear Trend ;
Parameters (R input):
par1 = 1 ; par2 = Include Monthly Dummies ; par3 = Linear Trend ; 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')