Re: [問題] 關於迴歸中的係數

作者: solsiso (solsiso)   2013-12-11 01:40:15
※ 引述《solsiso (solsiso)》之銘言:
: 請問
: 要對一個迴歸式 y=a+bx+e
: 的係數a和b同時進行檢定
: 我採用了wald test(安裝了aod package)
: 進行 H0:a=0且b=1 的檢定
: 但卻一直出現以下訊息
: Error in wald.test(Sigma = mdl_stderror[1, ], b = mdl_coef[1, ], L = ) :
: One of the arguments Terms or L must be used.
: 一定要有一個 L 或 Terms 的參數,可是我不知道到底如何給好,希望板上大大能
: 解惑一下,感謝!~
附上完整的code,其實也只有最下面要使用wald.test而已
#資料是從1997/1/1-2007/12/31
#自選.csv檔案,檔案格式每欄(column)為:
#年月日,台積電日報酬率,加權指數日報酬率,台積電週報酬率,加權指數週報酬率,
台積電月報酬率,加權指數月報酬率
#讀入檔案到一個名為data的變數
data <- read.table(file.choose(), header=TRUE, sep=",")
#看各欄定義名稱及資料的簡單summary
names(data)
summary(data)
#依照以下順序
#1.日、週、月報酬迴歸,Y是台積電報酬率,X是加權指數報酬率
#2.一般迴歸的summary
#3.依照anova table格式的summary
model1 <- lm( data[,2] ~ data[,3], x=TRUE, Y=TRUE )
summary(model1)
summary.aov(model1)
model2 <- lm( data[,4] ~ data[,5] )
summary(model2)
summary.aov(model2)
model3 <- lm( data[,6] ~ data[,7] )
summary(model3)
summary.aov(model3)
#畫圖,畫出scatter plot,及迴歸線
par(mfrow=c(3,1))
plot(data[,2],data[,3], type="p", xlab="大盤日報酬", ylab="台積電日報酬")
abline(model1)
plot(data[,4],data[,5], type="p", xlab="大盤週報酬", ylab="台積電週報酬")
abline(model2)
plot(data[,6],data[,7], type="p", xlab="大盤月報酬", ylab="台積電月報酬")
abline(model3)
#把係數抓出來
mdl_coef <- matrix(0, ncol=2, nrow=3)
mdl_coef[1,] <- t(as.matrix(model1$coef))
mdl_coef[2,] <- t(as.matrix(model2$coef))
mdl_coef[3,] <- t(as.matrix(model3$coef))
#把標準差抓出來
mdl_stderror <- matrix(0, ncol=2, nrow=3)
mdl_stderror[1,] <- summary(model1)[["coefficients"]][,2]
mdl_stderror[2,] <- summary(model2)[["coefficients"]][,2]
mdl_stderror[3,] <- summary(model3)[["coefficients"]][,2]
wald.test(Sigma=mdl_stderror[1,], b=mdl_coef[1,], Terms=c(1,2))
我必須承認我還不太懂R,code都是遇到問題去拼湊出來的.....
作者: andrew43 (討厭有好心推文後刪文者)   2013-02-11 02:35:00
b 和 Sigma 要給整個模型的而不是特定係數而已請看試試我的例子。仔細點試,比較看看我和你的語法。另一個錯誤是 Terms=c(2,3), 但你的模型只有可能是 1,2(因為只有"1"是interpect和"2"是x的係數)更正:我的第一個推文是錯的。你沒有這個錯誤。

Links booklink

Contact Us: admin [ a t ] ucptt.com