我在 R 中使用带有 link= log 的 glm() 函数来拟合我的模型。我在各种网站上读到,与 predict() 相比,fitted() 返回了我们可以与原始数据进行比较的值。 我在拟合模型时遇到了一些问题。
data<-read.csv("training.csv")
data$X2 <- as.Date(data$X2, format="%m/%d/%Y")
data$X3 <- as.Date(data$X3, format="%m/%d/%Y")
data_subset <- subset(...)
attach(data_subset)
#define variable
Y<-cbind(Y)
X<-cbind(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X14)
# correlation among variables
cor(Y,X)
model <- glm(Y ~ X , data_subset,family=Gamma(link="log"))
summary(model)
detach(data_subset)
validation_data<-read.csv("validation.csv")
validation_data$X2 <- as.Date(validation_data$X2, format="%m/%d/%Y")
validation_data$X3 <- as.Date(validation_data$X3, format="%m/%d/%Y")
attach(validation_data)
predicted_valid<-predict(model, newdata=validation_data)
我不确定预测如何与 Gamma 日志链接一起工作。我想转换预测值,以便可以将其与原始数据进行比较。有人可以帮帮我吗。
最佳答案
将 type="response"
添加到您的 predict
调用中,以获得响应量表的预测。请参阅 ?predict.glm
。
predict(model, newdata=*, type="response")
关于R:使用 glm() Gamma 族进行预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25909958/