R:使用glm()gamma族进行预测

时间:2014-09-18 00:04:53

标签: r regression predict gamma

我在R中使用了带有link = log的glm()函数来适应我的模型。我在各种网站上看到,fit()返回的值与prim()相比,我们可以将其与原始数据进行比较。 在拟合模型时我遇到了一些问题。

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日志链接。我想转换预测值,以便可以将其与原始数据进行比较。有人可以帮助我。

2 个答案:

答案 0 :(得分:3)

在我看来fitted并不像您认为的那样工作。

您可能希望在那里使用predict,因为您似乎想要传递数据。

请参阅?fitted vs ?predict

答案 1 :(得分:1)

type="response"添加到您的predict来电,以获得有关响应比例的预测。请参阅?predict.glm

predict(model, newdata=*, type="response")