こちらポワソン回帰のサイトを拝見させていただき、Rで実装しながら勉強しています。
等価な方法「その3」として、以下が紹介されています。これは、link関数がidentityの場合ですが、link関数がlogの場合も可能なのでしょうか。
x = c(1,2,3,4) y = c(2,3,5,4) w = c(1,1,1,1) for (i in 1:10) { r = lm(y ~ x, weights=w) lambda = predict(r) print(c(as.numeric(r$coef), -sum(y*log(lambda)-lambda))) w = 1 / lambda } #省略 #[1] 1.2783467 0.8886613 -4.0609501 glm(y~x,family=poisson(link="identity")) #(Intercept) x # 1.2784 0.8887
以下、link関数をlogを想定して、単純にyをlog(y)に、wをlambdaにしてみましたが、違うのでしょうか。どなたかアドバイスをお願いしてもよろしいでしょうか。
x = c(1,2,3,4) y = c(2,3,5,4) w = c(1,1,1,1) for (i in 1:10) { r = lm(log(y) ~ x, weights=w) lambda = predict(r) print(c(as.numeric(r$coef), -sum(y*log(lambda)-lambda))) w = lambda } #省略 #[1] 0.6195090 0.2334289 1.7332280 glm(y~x,family=poisson(link="log")) #(Intercept) x # 0.6393 0.2320
あなたの回答
tips
プレビュー