2017-06-19 133 views
0

我想在使用cochrane-orcutt調整後預測特定值。我的問題是,使用predict()或predict.orcutt(),只會使用用於構建模型的原始數據返回預測值。下面的例子不是我的數據,但它可以用來複制問題。Cochrane-Orcutt預測在R

# Values used to build model 
build_model = mtcars[1:22,] 

# Input values for future predictions 
predict_values = mtcars[23:32,] 

# Linear Model 
fit = lm(mpg~cyl, build_model) 

# Cochrane.Orcutt correction 
coch_class = cochrane.orcutt(fit) 

# Use Predict Function 
predict.orcutt(coch_class, newdata = predict_values$cyl) 

[1]
馬自達RX4 20.46226
馬自達RX4搖擺20.46226
德森710 26.01009
大黃蜂4傳動20.46226
大黃蜂Sportabout 14.91443
勇士20.46226
除塵器360 14.91443
Merc的240D 26.01009
Merc 230 26.01009
芝加哥商業交易所280 20.46226
芝加哥商業交易所280C 20.46226
芝加哥商業交易所450SE 14.91443
Merc的450SL 14.91443
芝加哥商業交易所450SLC 14.91443
凱迪拉克弗利特伍德14.91443
林肯大陸14.91443
克萊斯勒帝國14.91443
菲亞特128 26.01009
本田思域26.01009
豐田卡羅拉26.01009
豐田卡羅納26.01009
Dodge Challenger 14.91443

+0

它無法正常工作作爲data.frame(對於此示例或我的原始數據)。 – kpr62

回答

1

orcutt庫似乎不支持使用新數據進行預測。 predict.orcutt函數的源只返回擬合的值。它忽略了任何參數。

orcutt:::predict.orcutt 
# function (object, ...) 
# { 
#  return(object$fitted.values) 
# } 

或許聯繫包的作者,看看他們是否導出,使調整後的預測方法。