2

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

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)

我不确定预测如何与伽马日志链接一起工作。我想转换预测值,以便可以将其与原始数据进行比较。有人可以帮帮我吗。

4

2 回答 2

3

添加type="response"到您的predict通话中,以获取响应规模的预测。见?predict.glm

predict(model, newdata=*, type="response")
于 2014-09-20T15:51:04.997 回答
3

在我fitted看来,它不像你想象的那样工作。

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

?fittedvs?predict

于 2014-09-18T00:16:53.117 回答