Model 从120个模型列表中预测多个级别

Model 从120个模型列表中预测多个级别,model,regression,prediction,lm,predict,Model,Regression,Prediction,Lm,Predict,我有一个数据集,我添加的每一个仪表数据都有巨大的潜力。目前,我仅使用5米作为示例。以下是我的数据结构的外观: str(Data1) 'data.frame': 43800 obs. of 7 variables: $ METER: Factor w/ 5 levels "10443720001539305",..: 1 1 1 1 1 1 1 1 1 1 $ LOAD : num 87.7 101.5 96.5 92 185.6 ... $ TEMP : num 30.5 34

我有一个数据集,我添加的每一个仪表数据都有巨大的潜力。目前,我仅使用5米作为示例。以下是我的数据结构的外观:

str(Data1)
'data.frame':   43800 obs. of  7 variables:
 $ METER: Factor w/ 5 levels "10443720001539305",..: 1 1 1 1 1 1 1 1 1 1 
 $ LOAD : num  87.7 101.5 96.5 92 185.6 ...
 $ TEMP : num  30.5 34 39 36.5 24.5 31.5 32.5 18.5 26.5 25.5 ...
 $ DAY  : chr  "WD" "WD" "WE" "WE" ...
 $ HDD  : num  34.5 31 26 28.5 40.5 33.5 32.5 46.5 38.5 39.5 ...
 $ CDD  : num  0 0 0 0 0 0 0 0 0 0 ...
 $ HOUR : Factor w/ 24 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
对于每米,我试图得到24个不同的每小时回归模型,总共120个模型

创建模型列表并存储系数。
cat1我不确定这是不是一个好答案
我有一个解决方案,看起来像是一些手工工作

我注意到您有一个名为
cat\u COF
的对象,我假设这是一个 4
X
120矩阵。(4)由于三个回归系数+ 截取)假设您的newx对象有一个截取列

你能试着把newx和cat_coef相乘吗 如果您的newx具有维度
nx4
则可以进行矩阵乘法

基本上,输出将是预测值的
nx120
矩阵。 我只是试着把它想象成Yhat=X beta帽子

这可能会给出您的预测值

让我知道这是否有帮助

cat1<-dlply(Data1, c("METER", "HOUR"), function(z) lm(LOAD ~ HDD + CDD +  DAY))
cat_COF<-ldply(cat1, coef)
cat_Pred<-ldply(cat1, predict, type = "response")   
cat_Pred1<-ldply(cat1, predict, type = "response", newdata)