資料來源:https://www.kaggle.com/datasets/somyaagarwal69/gold-forecasting
目的:資料給予我們原油價格、利率(回購利率)、美元兌換盧比匯率、Sensex(BSE)、消費者物價指數和美元指數,我們去分析這些變數是否與黃金價格有相關性。
資料筆數:239筆
反應變數:Gold_Price(黃金價格)單位:千元
解釋變數:
Crude_Oil(原油價格)單位:千元
Interest_Rate(利率(回購利率))單位:%
USD_INR(美元兌換盧比匯率)單位:盧比
Sensex(Sensex(BSE)孟買股票指數)單位:千
CPI(消費者物價指數)
USD_Index(美元指數)
讀入檔案
GoldUP <- read.csv("C:/Users/sense/大學/大二下/迴歸/GoldUP.csv")
head(GoldUP)
## Date Gold_Price Crude_Oil Interest_Rate USD_INR Sensex CPI
## 1 01-10-2000 4538 1455.51 8.0 46.31830 3711.02 37.23
## 2 01-11-2000 4483 1512.47 8.0 46.78361 3997.99 37.31
## 3 01-12-2000 4541 1178.11 8.0 46.74586 3972.12 36.98
## 4 01-01-2001 4466 1208.18 8.0 46.53603 4326.72 36.90
## 5 01-02-2001 4370 1267.18 7.5 46.51459 4247.04 36.73
## 6 01-03-2001 4269 1166.45 7.0 46.60935 3604.38 36.90
## USD_Index
## 1 116.65
## 2 115.24
## 3 109.56
## 4 110.52
## 5 112.01
## 6 117.37
我們沒有用到時間,因此欄位選取時沒有選擇date欄位
畫出各變數的矩陣散佈圖
data=GoldUP[,c(2:8)]
head(data)
## Gold_Price Crude_Oil Interest_Rate USD_INR Sensex CPI USD_Index
## 1 4538 1455.51 8.0 46.31830 3711.02 37.23 116.65
## 2 4483 1512.47 8.0 46.78361 3997.99 37.31 115.24
## 3 4541 1178.11 8.0 46.74586 3972.12 36.98 109.56
## 4 4466 1208.18 8.0 46.53603 4326.72 36.90 110.52
## 5 4370 1267.18 7.5 46.51459 4247.04 36.73 112.01
## 6 4269 1166.45 7.0 46.60935 3604.38 36.90 117.37
plot(data)
為了簡化程式碼,所以將反應變數以Y表示,解釋變數以X1~X6表示
Y=data$Gold_Price
X1=data$Crude_Oil
X2=data$Interest_Rate
X3=data$USD_INR
X4=data$Sensex
X5=data$CPI
X6=data$USD_Index
所有迴歸模型比較選取法:
各種可能迴歸模型下的 \(SSE_p\),\(R^2\),\(R_a^2\),\(C_p\),\(AIC\),\(BIC\),\(PRESS_p\)
library(car)
## Warning: 套件 'car' 是用 R 版本 4.3.3 來建造的
## 載入需要的套件:carData
## Warning: 套件 'carData' 是用 R 版本 4.3.3 來建造的
source("C:/Users/sense/大學/大二下/迴歸/criteria.best.R")
library(knitr)
## Warning: 套件 'knitr' 是用 R 版本 4.3.3 來建造的
bestsubset(as.matrix(data[,2:7]), data$Gold_Price)
## $model
## $model$R2
## [1] 64
##
## $model$R2a
## [1] 32
##
## $model$Cp
## [1] 32
##
## $model$AIC
## [1] 32
##
## $model$BIC
## [1] 32
##
##
## $stat
## p X1 X2 X3 X4 X5 X6 SSE R2 R2a Cp
## [1,] 1 0 0 0 0 0 0 32406923004 -2.220446e-16 -2.220446e-16 5803.06
## [2,] 2 1 0 0 0 0 0 18218095731 0.4378332 0.4354612 3160.521
## [3,] 2 0 1 0 0 0 0 30509111457 0.05856192 0.0545896 5451.342
## [4,] 3 1 1 0 0 0 0 17956202638 0.4459146 0.441219 3113.709
## [5,] 2 0 0 1 0 0 0 8685896612 0.731974 0.7308431 1383.893
## [6,] 3 1 0 1 0 0 0 3804333749 0.8826074 0.8816125 476.0585
## [7,] 3 0 1 1 0 0 0 8594917872 0.7347814 0.7325338 1368.936
## [8,] 4 1 1 1 0 0 0 3223131478 0.9005419 0.8992722 369.733
## [9,] 2 0 0 0 1 0 0 6303503900 0.805489 0.8046683 939.8582
## [10,] 3 1 0 0 1 0 0 5227319101 0.8386975 0.8373305 741.277
## [11,] 3 0 1 0 1 0 0 5418887618 0.8327861 0.831369 776.9819
## [12,] 4 1 1 0 1 0 0 5016717316 0.8451961 0.8432199 704.0247
## [13,] 3 0 0 1 1 0 0 5139585838 0.8414047 0.8400607 724.9251
## [14,] 4 1 0 1 1 0 0 3148500997 0.9028448 0.9016045 355.8232
## [15,] 4 0 1 1 1 0 0 4692791641 0.8551917 0.8533431 643.6508
## [16,] 5 1 1 1 1 0 0 3016700498 0.9069119 0.9053206 333.258
## [17,] 2 0 0 0 0 1 0 2599894671 0.9197735 0.919435 249.573
## [18,] 3 1 0 0 0 1 0 1916630135 0.9408574 0.9403562 124.2249
## [19,] 3 0 1 0 0 1 0 2511896607 0.9224889 0.921832 235.1717
## [20,] 4 1 1 0 0 1 0 1907734282 0.9411319 0.9403804 124.5669
## [21,] 3 0 0 1 0 1 0 2307067342 0.9288094 0.9282061 196.9953
## [22,] 4 1 0 1 0 1 0 1910578231 0.9410441 0.9402915 125.097
## [23,] 4 0 1 1 0 1 0 2181379634 0.9326879 0.9318285 175.5694
## [24,] 5 1 1 1 0 1 0 1906541214 0.9411687 0.940163 126.3445
## [25,] 3 0 0 0 1 1 0 2369414269 0.9268856 0.9262659 208.6156
## [26,] 4 1 0 0 1 1 0 1574862508 0.9514035 0.9507831 62.52567
## [27,] 4 0 1 0 1 1 0 2354630861 0.9273417 0.9264142 207.8603
## [28,] 5 1 1 0 1 1 0 1376332841 0.9575297 0.9568037 27.52336
## [29,] 4 0 0 1 1 1 0 1508651642 0.9534466 0.9528523 50.18517
## [30,] 5 1 0 1 1 1 0 1338485273 0.9586976 0.9579915 20.46926
## [31,] 5 0 1 1 1 1 0 1508594907 0.9534484 0.9526526 52.1746
## [32,] 6 1 1 1 1 1 0 1245251293 0.9615745 0.9607499 5.092146
## [33,] 2 0 0 0 0 0 1 31835493728 0.01763294 0.01348793 5698.556
## [34,] 3 1 0 0 0 0 1 14940780891 0.5389633 0.5350562 2551.689
## [35,] 3 0 1 0 0 0 1 29989588050 0.07459316 0.06675073 5356.513
## [36,] 4 1 1 0 0 0 1 13339273437 0.588382 0.5831273 2255.197
## [37,] 3 0 0 1 0 0 1 3545889234 0.8905824 0.8896551 427.8891
## [38,] 4 1 0 1 0 0 1 3015373432 0.9069528 0.905765 331.0107
## [39,] 4 0 1 1 0 0 1 3539053604 0.8907933 0.8893992 428.6151
## [40,] 5 1 1 1 0 0 1 2837761729 0.9124335 0.9109366 299.9071
## [41,] 3 0 0 0 1 0 1 6221086476 0.8080322 0.8064053 926.4971
## [42,] 4 1 0 0 1 0 1 4955375895 0.847089 0.8451369 692.5918
## [43,] 4 0 1 0 1 0 1 5345827927 0.8350406 0.8329347 765.3649
## [44,] 5 1 1 0 1 0 1 4906733201 0.84859 0.8460018 685.5256
## [45,] 4 0 0 1 1 0 1 3235201786 0.9001694 0.898895 371.9827
## [46,] 5 1 0 1 1 0 1 2780972881 0.9141858 0.9127189 289.3227
## [47,] 5 0 1 1 1 0 1 3156062716 0.9026115 0.9009467 359.2326
## [48,] 6 1 1 1 1 0 1 2734856113 0.9156089 0.9137979 282.7273
## [49,] 3 0 0 0 0 1 1 2085456710 0.9356478 0.9351024 155.6911
## [50,] 4 1 0 0 0 1 1 1882060457 0.9419241 0.9411827 119.7818
## [51,] 4 0 1 0 0 1 1 2007636811 0.9380491 0.9372583 143.1869
## [52,] 5 1 1 0 0 1 1 1882030979 0.941925 0.9409323 121.7763
## [53,] 4 0 0 1 0 1 1 2082335041 0.9357441 0.9349238 157.1093
## [54,] 5 1 0 1 0 1 1 1877658441 0.94206 0.9410695 120.9613
## [55,] 5 0 1 1 0 1 1 2007634111 0.9380492 0.9369902 145.1864
## [56,] 6 1 1 1 0 1 1 1877019437 0.9420797 0.9408368 122.8422
## [57,] 4 0 0 0 1 1 1 1546201899 0.9522879 0.9516788 57.18385
## [58,] 5 1 0 0 1 1 1 1423573225 0.9560719 0.955321 36.3281
## [59,] 5 0 1 0 1 1 1 1545555976 0.9523078 0.9514926 59.06347
## [60,] 6 1 1 0 1 1 1 1322619739 0.9591871 0.9583113 19.51221
## [61,] 5 0 0 1 1 1 1 1427726547 0.9559438 0.9551907 37.10221
## [62,] 6 1 0 1 1 1 1 1328319473 0.9590112 0.9581317 20.57454
## [63,] 6 0 1 1 1 1 1 1427209243 0.9559597 0.9550147 39.00579
## [64,] 7 1 1 1 1 1 1 1244756900 0.9615898 0.9605964 7
## AIC BIC
## [1,] 4477.317 4480.793
## [2,] 4341.663 4348.616
## [3,] 4464.894 4471.847
## [4,] 4340.202 4350.632
## [5,] 4164.632 4171.585
## [6,] 3969.323 3979.753
## [7,] 4164.116 4174.545
## [8,] 3931.7 3945.606
## [9,] 4088.01 4094.963
## [10,] 4045.267 4055.697
## [11,] 4053.87 4064.299
## [12,] 4037.439 4051.345
## [13,] 4041.222 4051.652
## [14,] 3926.101 3940.007
## [15,] 4021.486 4035.392
## [16,] 3917.881 3935.263
## [17,] 3876.343 3883.296
## [18,] 3805.472 3815.901
## [19,] 3870.114 3880.543
## [20,] 3806.36 3820.266
## [21,] 3849.784 3860.214
## [22,] 3806.716 3820.622
## [23,] 3838.396 3852.301
## [24,] 3808.21 3825.593
## [25,] 3856.157 3866.587
## [26,] 3760.532 3774.438
## [27,] 3856.662 3870.567
## [28,] 3730.328 3747.71
## [29,] 3750.266 3764.172
## [30,] 3723.663 3741.046
## [31,] 3752.257 3769.64
## [32,] 3708.407 3729.266
## [33,] 4475.065 4482.018
## [34,] 4296.264 4306.694
## [35,] 4462.789 4473.218
## [36,] 4271.166 4285.072
## [37,] 3952.509 3962.939
## [38,] 3915.776 3929.682
## [39,] 3954.048 3967.954
## [40,] 3903.266 3920.649
## [41,] 4086.864 4097.294
## [42,] 4034.499 4048.405
## [43,] 4052.625 4066.531
## [44,] 4034.141 4051.523
## [45,] 3932.594 3946.499
## [46,] 3898.435 3915.817
## [47,] 3928.674 3946.057
## [48,] 3896.439 3917.297
## [49,] 3825.648 3836.077
## [50,] 3803.121 3817.027
## [51,] 3818.559 3832.465
## [52,] 3805.118 3822.5
## [53,] 3827.29 3841.196
## [54,] 3804.562 3821.944
## [55,] 3820.558 3837.941
## [56,] 3806.48 3827.339
## [57,] 3756.142 3770.048
## [58,] 3738.393 3755.776
## [59,] 3758.042 3775.425
## [60,] 3722.814 3743.672
## [61,] 3739.09 3756.472
## [62,] 3723.841 3744.7
## [63,] 3741.003 3761.862
## [64,] 3710.312 3734.648
配適最複雜模型m1,以vif檢查共線性
m1=lm(Y~X1+X2+X3+X4+X5+X6)
summary(m1)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4 + X5 + X6)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3971.8 -1628.1 -197.7 1094.8 13117.3
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.545e+03 1.967e+03 -1.294 0.197060
## X1 1.277e+00 2.189e-01 5.831 1.83e-08 ***
## X2 -7.234e+02 1.833e+02 -3.946 0.000105 ***
## X3 -2.892e+02 7.590e+01 -3.809 0.000178 ***
## X4 -6.859e-01 6.319e-02 -10.856 < 2e-16 ***
## X5 6.967e+02 4.181e+01 16.665 < 2e-16 ***
## X6 -8.118e+00 2.674e+01 -0.304 0.761739
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2316 on 232 degrees of freedom
## Multiple R-squared: 0.9616, Adjusted R-squared: 0.9606
## F-statistic: 968 on 6 and 232 DF, p-value: < 2.2e-16
vif(m1)
## X1 X2 X3 X4 X5 X6
## 5.118266 2.104681 27.172035 21.554413 65.680179 4.059760
因為在vif檢查時,有三個vif≧10的值,因此選擇將最大的值X5(vif=65.680179)刪除
以下是刪除X5後的模型配適m2模型:
m2=lm(Y~X1+X2+X3+X4+X6)
summary(m2)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4 + X6)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9218.1 -2120.0 -770.4 1734.2 13140.1
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.304e+04 2.756e+03 -4.733 3.83e-06 ***
## X1 1.910e+00 3.189e-01 5.990 7.88e-09 ***
## X2 -5.364e+02 2.706e+02 -1.982 0.04864 *
## X3 7.923e+02 5.824e+01 13.603 < 2e-16 ***
## X4 1.635e-01 5.523e-02 2.961 0.00338 **
## X6 -1.790e+02 3.653e+01 -4.900 1.79e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3426 on 233 degrees of freedom
## Multiple R-squared: 0.9156, Adjusted R-squared: 0.9138
## F-statistic: 505.6 on 5 and 233 DF, p-value: < 2.2e-16
vif(m2)
## X1 X2 X3 X4 X6
## 4.963893 2.096794 7.312914 7.527817 3.462840
檢查共線性,確定vif均<10
運用向前選取法、向後選取法和逐步選取法,來選取最佳適配模型
none=lm(Y~1)
step(none,scope =list(upper=m2,lower=none),direction='forward' ) #向前選取法
## Start: AIC=4477.32
## Y ~ 1
##
## Df Sum of Sq RSS AIC
## + X4 1 2.6103e+10 6.3035e+09 4088.0
## + X3 1 2.3721e+10 8.6859e+09 4164.6
## + X1 1 1.4189e+10 1.8218e+10 4341.7
## + X2 1 1.8978e+09 3.0509e+10 4464.9
## + X6 1 5.7143e+08 3.1835e+10 4475.1
## <none> 3.2407e+10 4477.3
##
## Step: AIC=4088.01
## Y ~ X4
##
## Df Sum of Sq RSS AIC
## + X3 1 1163918062 5139585838 4041.2
## + X1 1 1076184799 5227319101 4045.3
## + X2 1 884616281 5418887618 4053.9
## + X6 1 82417423 6221086476 4086.9
## <none> 6303503900 4088.0
##
## Step: AIC=4041.22
## Y ~ X4 + X3
##
## Df Sum of Sq RSS AIC
## + X1 1 1991084841 3148500997 3926.1
## + X6 1 1904384052 3235201786 3932.6
## + X2 1 446794197 4692791641 4021.5
## <none> 5139585838 4041.2
##
## Step: AIC=3926.1
## Y ~ X4 + X3 + X1
##
## Df Sum of Sq RSS AIC
## + X6 1 367528115 2780972881 3898.4
## + X2 1 131800499 3016700498 3917.9
## <none> 3148500997 3926.1
##
## Step: AIC=3898.44
## Y ~ X4 + X3 + X1 + X6
##
## Df Sum of Sq RSS AIC
## + X2 1 46116768 2734856113 3896.4
## <none> 2780972881 3898.4
##
## Step: AIC=3896.44
## Y ~ X4 + X3 + X1 + X6 + X2
##
## Call:
## lm(formula = Y ~ X4 + X3 + X1 + X6 + X2)
##
## Coefficients:
## (Intercept) X4 X3 X1 X6 X2
## -1.304e+04 1.635e-01 7.923e+02 1.910e+00 -1.790e+02 -5.364e+02
step(m2,scope =list(upper=m2,lower=none),direction='backward' ) #向後選取法
## Start: AIC=3896.44
## Y ~ X1 + X2 + X3 + X4 + X6
##
## Df Sum of Sq RSS AIC
## <none> 2734856113 3896.4
## - X2 1 46116768 2780972881 3898.4
## - X4 1 102905616 2837761729 3903.3
## - X6 1 281844384 3016700498 3917.9
## - X1 1 421206603 3156062716 3928.7
## - X3 1 2171877088 4906733201 4034.1
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4 + X6)
##
## Coefficients:
## (Intercept) X1 X2 X3 X4 X6
## -1.304e+04 1.910e+00 -5.364e+02 7.923e+02 1.635e-01 -1.790e+02
step(none,scope =list(upper=m2,lower=none),direction='both' ) #逐步選取法
## Start: AIC=4477.32
## Y ~ 1
##
## Df Sum of Sq RSS AIC
## + X4 1 2.6103e+10 6.3035e+09 4088.0
## + X3 1 2.3721e+10 8.6859e+09 4164.6
## + X1 1 1.4189e+10 1.8218e+10 4341.7
## + X2 1 1.8978e+09 3.0509e+10 4464.9
## + X6 1 5.7143e+08 3.1835e+10 4475.1
## <none> 3.2407e+10 4477.3
##
## Step: AIC=4088.01
## Y ~ X4
##
## Df Sum of Sq RSS AIC
## + X3 1 1.1639e+09 5.1396e+09 4041.2
## + X1 1 1.0762e+09 5.2273e+09 4045.3
## + X2 1 8.8462e+08 5.4189e+09 4053.9
## + X6 1 8.2417e+07 6.2211e+09 4086.9
## <none> 6.3035e+09 4088.0
## - X4 1 2.6103e+10 3.2407e+10 4477.3
##
## Step: AIC=4041.22
## Y ~ X4 + X3
##
## Df Sum of Sq RSS AIC
## + X1 1 1991084841 3148500997 3926.1
## + X6 1 1904384052 3235201786 3932.6
## + X2 1 446794197 4692791641 4021.5
## <none> 5139585838 4041.2
## - X3 1 1163918062 6303503900 4088.0
## - X4 1 3546310774 8685896612 4164.6
##
## Step: AIC=3926.1
## Y ~ X4 + X3 + X1
##
## Df Sum of Sq RSS AIC
## + X6 1 367528115 2780972881 3898.4
## + X2 1 131800499 3016700498 3917.9
## <none> 3148500997 3926.1
## - X4 1 655832753 3804333749 3969.3
## - X1 1 1991084841 5139585838 4041.2
## - X3 1 2078818104 5227319101 4045.3
##
## Step: AIC=3898.44
## Y ~ X4 + X3 + X1 + X6
##
## Df Sum of Sq RSS AIC
## + X2 1 46116768 2734856113 3896.4
## <none> 2780972881 3898.4
## - X4 1 234400551 3015373432 3915.8
## - X6 1 367528115 3148500997 3926.1
## - X1 1 454228905 3235201786 3932.6
## - X3 1 2174403014 4955375895 4034.5
##
## Step: AIC=3896.44
## Y ~ X4 + X3 + X1 + X6 + X2
##
## Df Sum of Sq RSS AIC
## <none> 2734856113 3896.4
## - X2 1 46116768 2780972881 3898.4
## - X4 1 102905616 2837761729 3903.3
## - X6 1 281844384 3016700498 3917.9
## - X1 1 421206603 3156062716 3928.7
## - X3 1 2171877088 4906733201 4034.1
##
## Call:
## lm(formula = Y ~ X4 + X3 + X1 + X6 + X2)
##
## Coefficients:
## (Intercept) X4 X3 X1 X6 X2
## -1.304e+04 1.635e-01 7.923e+02 1.910e+00 -1.790e+02 -5.364e+02
★發現最佳適配模型就是m2
以下是殘差分析: 畫關係圖
par(mfrow=c(2,2))
plot(m2)
1.檢查是否具均齊性
\(H_0\):變異數具均齊性
\(H_1\):變異數不具均齊性
ncvTest(m2)
## Non-constant Variance Score Test
## Variance formula: ~ fitted.values
## Chisquare = 56.09481, Df = 1, p = 6.9059e-14
library(lmtest)
## Warning: 套件 'lmtest' 是用 R 版本 4.3.3 來建造的
## 載入需要的套件:zoo
## Warning: 套件 'zoo' 是用 R 版本 4.3.3 來建造的
##
## 載入套件:'zoo'
## 下列物件被遮斷自 'package:base':
##
## as.Date, as.Date.numeric
bptest(m2)
##
## studentized Breusch-Pagan test
##
## data: m2
## BP = 59.275, df = 5, p-value = 1.716e-11
►ncvTest 檢定結果之p值<0.05,推翻虛無假設,表示變異數不具均齊性
►bptest 檢定結果之p值<0.05,推翻虛無假設,表示變異數不具均齊性
2.檢定殘差是否具常態性
\(H_0\):殘差具常態性
\(H_1\):殘差不具常態性
e=m2$residuals #殘差
qqnorm(e)
qqline(e)
shapiro.test(e)
##
## Shapiro-Wilk normality test
##
## data: e
## W = 0.95131, p-value = 3.441e-07
►因為shapiro.test結果之p值<0.05,所以推翻虛無假設,表示殘差不具常態性
3.檢定殘差是否具一階自我相關
\(H_0\):殘差無一階自我相關
\(H_1\):殘差有一階自我相關
durbinWatsonTest(m2) #雙尾檢定
## lag Autocorrelation D-W Statistic p-value
## 1 0.915927 0.1024024 0
## Alternative hypothesis: rho != 0
dwtest(m2) #單尾檢定
##
## Durbin-Watson test
##
## data: m2
## DW = 0.1024, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
►由於兩種檢定結果之p值<0.05,推翻虛無假設,表示殘差具一階自我相關
★因為不具均齊性、常態性,所以做Box-Cox轉換
做Box-Cox轉換
trans=powerTransform(m2)
summary(trans)
## bcPower Transformation to Normality
## Est Power Rounded Pwr Wald Lwr Bnd Wald Upr Bnd
## Y1 0.3051 0.33 0.1401 0.4701
##
## Likelihood ratio test that transformation parameter is equal to 0
## (log transformation)
## LRT df pval
## LR test, lambda = (0) 12.40575 1 0.00042801
##
## Likelihood ratio test that no transformation is needed
## LRT df pval
## LR test, lambda = (1) 72.32213 1 < 2.22e-16
\(\lambda\)=0.3050862,以\(\lambda\)=0.3取代來做newy
newy=bcPower(Y,0.3)
newy
## [1] 38.34766 38.19547 38.35593 38.14816 37.87862 37.59053 37.58477 38.07836
## [9] 37.96329 37.90689 38.10072 38.60210 38.75629 38.52861 38.45207 38.76975
## [17] 39.32110 39.37064 39.68304 40.15067 40.36659 40.05558 39.90695 40.18310
## [25] 40.11069 40.19306 40.68709 41.41990 41.46420 40.66038 40.06561 40.96880
## [33] 40.84411 40.48956 40.73070 41.34037 41.28639 41.64729 42.20210 42.39172
## [41] 42.03099 41.95849 41.79894 41.38252 41.67495 42.12348 42.27370 42.37173
## [49] 42.79167 43.20074 42.97356 42.32500 42.23346 42.57512 42.32946 42.05810
## [57] 42.29156 42.12123 42.54651 43.16661 43.87749 44.47440 45.29424 45.93621
## [65] 46.14592 46.18467 47.82709 49.44725 47.77065 48.78644 48.63873 47.84929
## [73] 47.32602 48.09028 48.07846 47.97012 48.76352 48.47512 48.39369 47.64355
## [81] 47.34698 47.40627 47.57108 48.37704 49.00132 50.02901 49.98407 51.45631
## [89] 52.30978 53.33238 52.20000 52.66519 52.95397 53.85956 52.27183 52.77148
## [97] 53.41165 52.66519 53.72088 54.43875 56.09003 56.60516 55.69552 55.87350
## [105] 55.89536 55.99349 56.27247 57.17837 57.36130 58.67493 58.78594 58.28933
## [113] 58.08828 58.18733 58.27494 59.70926 60.45546 59.96617 60.15985 60.77113
## [121] 61.18978 61.84400 62.19710 61.90607 62.01918 62.51076 63.10647 63.71271
## [129] 63.78896 64.16093 66.93473 68.21787 67.57151 69.04689 68.66442 68.30443
## [137] 68.70750 68.50314 69.04689 69.24996 69.98738 69.72739 70.25255 71.32624
## [145] 70.88691 71.23772 70.72663 70.50028 70.09342 69.76158 68.41714 67.65196
## [153] 67.97561 67.77819 70.27887 70.46615 70.63787 70.65954 70.05002 69.81206
## [161] 70.27522 69.99697 69.62383 69.17964 68.17098 68.62206 68.67751 67.80590
## [169] 67.82806 67.12717 67.57948 68.15220 67.89443 67.17004 67.58347 67.90863
## [177] 67.55395 66.65730 66.81310 67.23302 67.49883 66.74678 66.38309 67.03232
## [185] 68.80955 69.22200 69.24014 69.85432 69.93274 70.80508 71.03998 70.97426
## [193] 70.17272 69.97041 68.42567 69.18569 69.57603 69.19477 69.38486 68.97687
## [201] 69.24392 68.74667 69.29675 70.04633 69.75489 69.67602 69.19856 70.01319
## [209] 70.40652 70.42762 70.83669 70.92990 70.63570 70.19178 69.85802 70.51334
## [217] 71.19586 70.85392 71.02642 71.71773 72.39996 71.58192 71.31634 71.37217
## [225] 72.33423 73.28056 75.11557 75.47339 75.65183 75.59473 75.57609 76.73202
## [233] 77.45192 78.08733 79.89930 80.35675 80.87952 82.22286 83.75446
以newy對單一變數來看是否顯著
summary(lm(newy~X1))
##
## Call:
## lm(formula = newy ~ X1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.741 -6.311 -2.769 6.220 32.819
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.729e+01 1.387e+00 26.88 <2e-16 ***
## X1 6.110e-03 3.715e-04 16.45 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.892 on 237 degrees of freedom
## Multiple R-squared: 0.533, Adjusted R-squared: 0.531
## F-statistic: 270.5 on 1 and 237 DF, p-value: < 2.2e-16
summary(lm(newy~X2))
##
## Call:
## lm(formula = newy ~ X2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -23.748 -12.360 2.776 8.169 33.103
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 37.9069 4.6550 8.143 2.19e-14 ***
## X2 2.9987 0.6826 4.393 1.68e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 12.51 on 237 degrees of freedom
## Multiple R-squared: 0.07531, Adjusted R-squared: 0.0714
## F-statistic: 19.3 on 1 and 237 DF, p-value: 1.685e-05
summary(lm(newy~X3))
##
## Call:
## lm(formula = newy ~ X3)
##
## Residuals:
## Min 1Q Median 3Q Max
## -13.6946 -5.2550 -0.0741 4.7285 17.4734
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.77601 2.68312 1.407 0.161
## X3 1.00864 0.04898 20.593 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.791 on 237 degrees of freedom
## Multiple R-squared: 0.6415, Adjusted R-squared: 0.64
## F-statistic: 424.1 on 1 and 237 DF, p-value: < 2.2e-16
summary(lm(newy~X4))
##
## Call:
## lm(formula = newy ~ X4)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.812 -4.106 -1.839 2.852 13.502
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.876e+01 7.033e-01 55.12 <2e-16 ***
## X4 1.061e-03 3.310e-05 32.05 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.634 on 237 degrees of freedom
## Multiple R-squared: 0.8126, Adjusted R-squared: 0.8118
## F-statistic: 1027 on 1 and 237 DF, p-value: < 2.2e-16
summary(lm(newy~X6))
##
## Call:
## lm(formula = newy ~ X6)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.0089 -12.1883 0.1215 11.4094 26.2691
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 83.8642 6.5624 12.779 < 2e-16 ***
## X6 -0.2863 0.0722 -3.965 9.72e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 12.6 on 237 degrees of freedom
## Multiple R-squared: 0.06221, Adjusted R-squared: 0.05825
## F-statistic: 15.72 on 1 and 237 DF, p-value: 9.723e-05
►發現各變數都具顯著性
以newy做反應變數,X1、X2、X3、X4、X6做解釋變數配適m3
m3=lm(newy~X1+X2+X3+X4+X6)
summary(m3)
##
## Call:
## lm(formula = newy ~ X1 + X2 + X3 + X4 + X6)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.6177 -2.9213 -0.4184 2.3459 9.5242
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.395e+01 2.797e+00 12.141 < 2e-16 ***
## X1 1.734e-03 3.236e-04 5.358 2.02e-07 ***
## X2 1.996e-01 2.746e-01 0.727 0.468
## X3 7.019e-01 5.910e-02 11.875 < 2e-16 ***
## X4 3.419e-04 5.605e-05 6.100 4.38e-09 ***
## X6 -3.007e-01 3.707e-02 -8.111 2.86e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.477 on 233 degrees of freedom
## Multiple R-squared: 0.9298, Adjusted R-squared: 0.9283
## F-statistic: 617.4 on 5 and 233 DF, p-value: < 2.2e-16
畫關係圖
par(mfrow=c(2,2))
plot(m3)
1.檢查是否具均齊性
\(H_0\):變異數具均齊性
\(H_1\):變異數不具均齊性
library(car)
ncvTest(m3)
## Non-constant Variance Score Test
## Variance formula: ~ fitted.values
## Chisquare = 14.51749, Df = 1, p = 0.00013886
library(lmtest)
bptest(m3)
##
## studentized Breusch-Pagan test
##
## data: m3
## BP = 60.367, df = 5, p-value = 1.021e-11
►ncvTest 檢定結果之p值<0.05,推翻虛無假設,表示變異數不具均齊性
►bptest 檢定結果之p值<0.05,推翻虛無假設,表示變異數不具均齊性
2.檢定殘差是否具常態性
\(H_0\):殘差具常態性
\(H_1\):殘差不具常態性
e1=m3$residuals
qqnorm(e1)
qqline(e1)
shapiro.test(e1)
##
## Shapiro-Wilk normality test
##
## data: e1
## W = 0.97522, p-value = 0.0003411
►因為shapiro.test結果之p值<0.05,所以推翻虛無假設,表示殘差不具常態性
3.檢定殘差是否具一階自我相關
\(H_0\):殘差無一階自我相關
\(H_1\):殘差有一階自我相關
durbinWatsonTest(m3)
## lag Autocorrelation D-W Statistic p-value
## 1 0.9421082 0.1042253 0
## Alternative hypothesis: rho != 0
dwtest(m3)
##
## Durbin-Watson test
##
## data: m3
## DW = 0.10423, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
►由於兩種檢定結果之p值均<0.05,推翻虛無假設,表示殘差具一階自我相關
★因為m3模型X2變數不顯著,殘差不具均齊和常態性,因此刪除X2變數配適m4模型
m4 = lm(newy ~ X1+X3+X4+X6)
summary(m4)
##
## Call:
## lm(formula = newy ~ X1 + X3 + X4 + X6)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.8349 -2.9274 -0.4099 2.4485 9.2902
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.383e+01 2.789e+00 12.132 < 2e-16 ***
## X1 1.888e-03 2.436e-04 7.753 2.75e-13 ***
## X3 7.143e-01 5.652e-02 12.637 < 2e-16 ***
## X4 3.223e-04 4.906e-05 6.568 3.26e-10 ***
## X6 -2.938e-01 3.579e-02 -8.207 1.52e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.473 on 234 degrees of freedom
## Multiple R-squared: 0.9297, Adjusted R-squared: 0.9285
## F-statistic: 773.2 on 4 and 234 DF, p-value: < 2.2e-16
畫關係圖
par(mfrow=c(2,2))
plot(m4)
1.檢查是否具均齊性
\(H_0\):變異數具均齊性
\(H_1\):變異數不具均齊性
ncvTest(m4)
## Non-constant Variance Score Test
## Variance formula: ~ fitted.values
## Chisquare = 15.069, Df = 1, p = 0.00010365
bptest(m4)
##
## studentized Breusch-Pagan test
##
## data: m4
## BP = 40.68, df = 4, p-value = 3.131e-08
►ncvTest 檢定結果之p值<0.05,推翻虛無假設,表示變異數不具均齊性
►bptest 檢定結果之p值<0.05,推翻虛無假設,表示變異數不具均齊性
2.檢定殘差是否具常態性
\(H_0\):殘差具常態性
\(H_1\):殘差不具常態性
qqnorm(m4$resid)
qqline(m4$resid)
shapiro.test(m4$resid)
##
## Shapiro-Wilk normality test
##
## data: m4$resid
## W = 0.97605, p-value = 0.0004536
►因為shapiro.test結果之p值<0.05,所以推翻虛無假設,表示殘差不具常態性
3.檢定殘差是否具一階自我相關
\(H_0\):殘差無一階自我相關
\(H_1\):殘差有一階自我相關
durbinWatsonTest(m4)
## lag Autocorrelation D-W Statistic p-value
## 1 0.9422079 0.1051106 0
## Alternative hypothesis: rho != 0
dwtest(m4)
##
## Durbin-Watson test
##
## data: m4
## DW = 0.10511, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
►由於兩種檢定結果之p值均<0.05,推翻虛無假設,表示殘差具一階自我相關
★藉由m3跟m4的比較,我們發現兩者差異不大(均不具均齊性和常態性,並且具一階自我相關),所以選擇m3模型當最終模型,因為多一個解釋變數X2
所以我們使用m3做離群值、影響點檢測
p=5 #解釋變數個數
n=nrow(data)
ei = m3$resid
hii = hatvalues(m3)
ri = rstandard(m3)
ti = rstudent(m3)
Di = cooks.distance(m3)
DFFITSi = dffits(m3)
DFBETASi = dfbetas(m3)
case1 = which(hii>2*(p+1)/n); names(case1)=NULL; case1
## [1] 1 8 9 155 156 172 234 235 236 237 238 239
case2 = which(abs(ri)>2); names(case2)=NULL; case2
## [1] 131 132 134 215 216 217 235 236
case3 = which(abs(ti)>qt(1-0.05/n, n-p-1)); names(case3)=NULL; case3
## integer(0)
case4 = which(Di>qf(0.5, p+1, n-(p+1))); names(case4)=NULL; case4
## integer(0)
case5 = which(abs(DFFITSi)>1); names(case5)=NULL; case5
## integer(0)
case6 = which(abs(DFBETASi)>1, arr.ind=T); names(case6)=NULL; case6
## row col
我們看到case1和case2有重複的點(第235和236筆資料),因此我們先刪除第235筆資料,重新配適m3_1
m3_1=lm(newy[-235]~X1[-235]+X2[-235]+X3[-235]+X4[-235]+X6[-235])
summary(m3_1)
##
## Call:
## lm(formula = newy[-235] ~ X1[-235] + X2[-235] + X3[-235] + X4[-235] +
## X6[-235])
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.5221 -2.9012 -0.4152 2.4091 9.4754
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.356e+01 2.781e+00 12.065 < 2e-16 ***
## X1[-235] 1.802e-03 3.227e-04 5.584 6.56e-08 ***
## X2[-235] 2.410e-01 2.732e-01 0.882 0.379
## X3[-235] 6.806e-01 5.949e-02 11.440 < 2e-16 ***
## X4[-235] 3.495e-04 5.573e-05 6.272 1.73e-09 ***
## X6[-235] -2.911e-01 3.706e-02 -7.856 1.47e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.45 on 232 degrees of freedom
## Multiple R-squared: 0.9304, Adjusted R-squared: 0.9289
## F-statistic: 619.8 on 5 and 232 DF, p-value: < 2.2e-16
ncvTest(m3_1)
## Non-constant Variance Score Test
## Variance formula: ~ fitted.values
## Chisquare = 15.05292, Df = 1, p = 0.00010454
bptest(m3_1)
##
## studentized Breusch-Pagan test
##
## data: m3_1
## BP = 63.739, df = 5, p-value = 2.047e-12
qqnorm(m3_1$residuals)
qqline(m3_1$residuals)
shapiro.test(m3_1$resid)
##
## Shapiro-Wilk normality test
##
## data: m3_1$resid
## W = 0.9767, p-value = 0.0005882
durbinWatsonTest(m3_1)
## lag Autocorrelation D-W Statistic p-value
## 1 0.93983 0.1070578 0
## Alternative hypothesis: rho != 0
dwtest(m3_1)
##
## Durbin-Watson test
##
## data: m3_1
## DW = 0.10706, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
★因為殘差分析出來的結果一樣不具均齊性、常態性且具一階自我相關,所以我們還是選用m3當最終模型
\(\hat{GoldPrice}\)=33.9544 +0.0017\(CrudeOil\)+0.1996\(InterestRate\)+0.7019\(USDINR\)+3^{-4}\(Sensex\)+-0.3007\(USDIndex\)