Model 从120个模型列表中预测多个级别
我有一个数据集,我添加的每一个仪表数据都有巨大的潜力。目前,我仅使用5米作为示例。以下是我的数据结构的外观: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
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
的对象,我假设这是一个
4X
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)