R에 glm() 함수를 사용하여 link = log로 모델에 맞 춥니 다. 다양한 웹 사이트에서 fitted()은 predict()와 비교하여 원본 데이터와 비교할 수있는 값을 반환합니다. 모델을 맞추는 동안 문제가 발생했습니다.R : glm() 감마 패밀리를 사용한 예측
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)
감마 로그 링크가 어떻게 작동하는지 잘 모르겠습니다. 예측 된 값을 원래 데이터와 비교할 수 있도록 변환하고 싶습니다. 누군가 나를 도울 수 있습니까?
predict()를 사용하는 경우에도 동일한 문제가 발생합니다. 또한 예측은 학습 데이터와 동일한 샘플이없는 출력을 생성합니다. 그것이 첨부 또는 분리와 함께 무엇을해야합니까? – Nikita
올바른 인수는 'data'가 아닌 'newdata'입니다. – rvl
'attach'또는 'detach'와는 아무런 관련이 없지만 다른 이유로는 'attach'와 'detach'를 사용하지 말 것을 강력히 권합니다. 'data ='인수가 존재하는 곳에서는 그것들을 사용하고 더 일반적으로'with'를 사용합니다. 그것은 조금 더 많은 타이핑을 의미하지만 나중에 많은 고통을 덜어줍니다. 올바른 데이터 이름을 사용해야 만합니다. 새 데이터의 원본 이름이 원본과 동일하지 않은 경우 특정 버그가 있다고 예측할 수 있습니다. 문제가 있다고 생각하지는 않습니다. –