裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

Julia で GLM

2021年02月18日 | ブログラミング

############# R

> library(COUNT)
> example(affairs)

> glmaffp <- glm(naffairs ~ kids + yrsmarr2 + yrsmarr3 + yrsmarr4 + yrsmarr5,
+                family = poisson, data = affairs)
> summary(glmaffp)

Call:
glm(formula = naffairs ~ kids + yrsmarr2 + yrsmarr3 + yrsmarr4 + 
    yrsmarr5, family = poisson, data = affairs)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9668  -1.9364  -1.5412  -0.9274   7.0799  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)
(Intercept)  0.34038    0.09182   3.707  0.00021
kids         0.28809    0.09371   3.074  0.00211
yrsmarr2    -1.18431    0.17058  -6.943 3.84e-12
yrsmarr3    -0.45650    0.10536  -4.333 1.47e-05
yrsmarr4    -0.11823    0.09896  -1.195  0.23220
yrsmarr5     0.03119    0.09912   0.315  0.75303

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 2925.5  on 600  degrees of freedom
Residual deviance: 2797.0  on 595  degrees of freedom
AIC: 3303

Number of Fisher Scoring iterations: 7

> exp(coef(glmaffp))
(Intercept)        kids    yrsmarr2    yrsmarr3    yrsmarr4    yrsmarr5 
  1.4054793   1.3338755   0.3059569   0.6334955   0.8884915   1.0316802 

############# Julia

using GLM, RDatasets
affairs = dataset("COUNT", "affairs");

glmaffp = glm(@formula(NAffairs ~ Kids + YrsMarr2 + YrsMarr3 + YrsMarr4 + YrsMarr5),
  affairs, Poisson())

StatsModels.TableRegressionModel{GeneralizedLinearModel{GLM.GlmResp{Array{Float64,1},Poisson{Float64},LogLink},GLM.DensePredChol{Float64,LinearAlgebra.Cholesky{Float64,Array{Float64,2}}}},Array{Float64,2}}

NAffairs ~ 1 + Kids + YrsMarr2 + YrsMarr3 + YrsMarr4 + YrsMarr5

Coefficients:
───────────────────────────────────────────────────────────────────────────
                  Coef.  Std. Error      z  Pr(>|z|)  Lower 95%   Upper 95%
───────────────────────────────────────────────────────────────────────────
(Intercept)   0.340379    0.0918004   3.71    0.0002   0.160453   0.520304
Kids          0.288088    0.0936936   3.07    0.0021   0.104452   0.471725
YrsMarr2     -1.18431     0.170531   -6.94    <1e-11  -1.51854   -0.850077
YrsMarr3     -0.456502    0.10535    -4.33    <1e-4   -0.662984  -0.250021
YrsMarr4     -0.11823     0.0989574  -1.19    0.2322  -0.312183   0.0757227
YrsMarr5      0.0311887   0.0991201   0.31    0.7530  -0.163083   0.225461
───────────────────────────────────────────────────────────────────────────

exp.(coef(glmaffp))

6-element Array{Float64,1}:
 1.4054795343529018
 1.333875284127698
 0.3059569619008904
 0.6334954669694786
 0.8884915158052847
 1.0316802145278257

############# R

> require(MASS)
> glmaffnb <- glm.nb(naffairs ~ kids + yrsmarr2 + yrsmarr3 + yrsmarr4 + yrsmarr5,
+                    data=affairs)
> summary(glmaffnb)

Call:
glm.nb(formula = naffairs ~ kids + yrsmarr2 + yrsmarr3 + yrsmarr4 + 
    yrsmarr5, data = affairs, init.theta = 0.1188516427, link = log)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.8253  -0.8155  -0.7611  -0.6002   1.9331  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)
(Intercept)  0.33180    0.31247   1.062  0.28830
kids         0.27309    0.31104   0.878  0.37995
yrsmarr2    -1.19445    0.42962  -2.780  0.00543
yrsmarr3    -0.38936    0.35449  -1.098  0.27205
yrsmarr4    -0.08137    0.38166  -0.213  0.83116
yrsmarr5     0.07220    0.40464   0.178  0.85838

(Dispersion parameter for Negative Binomial(0.1189) family taken to be 1)

    Null deviance: 344.44  on 600  degrees of freedom
Residual deviance: 332.40  on 595  degrees of freedom
AIC: 1504.6

Number of Fisher Scoring iterations: 1


              Theta:  0.1189 
          Std. Err.:  0.0127 

 2 x log-likelihood:  -1490.6260 
> exp(coef(glmaffnb))
(Intercept)        kids    yrsmarr2    yrsmarr3    yrsmarr4    yrsmarr5 
  1.3934701   1.3140193   0.3028717   0.6774934   0.9218498   1.0748732 

############# Julia

glmaffnb = glm(@formula(NAffairs ~ Kids + YrsMarr2 + YrsMarr3 + YrsMarr4 + YrsMarr5),
  affairs, NegativeBinomial(0.11), LogLink())

StatsModels.TableRegressionModel{GeneralizedLinearModel{GLM.GlmResp{Array{Float64,1},NegativeBinomial{Float64},LogLink},GLM.DensePredChol{Float64,LinearAlgebra.Cholesky{Float64,Array{Float64,2}}}},Array{Float64,2}}

NAffairs ~ 1 + Kids + YrsMarr2 + YrsMarr3 + YrsMarr4 + YrsMarr5

Coefficients:
──────────────────────────────────────────────────────────────────────────
                  Coef.  Std. Error      z  Pr(>|z|)  Lower 95%  Upper 95%
──────────────────────────────────────────────────────────────────────────
(Intercept)   0.331862     0.246782   1.34    0.1787  -0.151823   0.815546
Kids          0.273032     0.24558    1.11    0.2662  -0.208296   0.75436
YrsMarr2     -1.19469      0.33843   -3.53    0.0004  -1.858     -0.531382
YrsMarr3     -0.389315     0.280041  -1.39    0.1645  -0.938186   0.159557
YrsMarr4     -0.0813931    0.301714  -0.27    0.7873  -0.672741   0.509955
YrsMarr5      0.0721675    0.319973   0.23    0.8216  -0.554969   0.699304
──────────────────────────────────────────────────────────────────────────

exp.(coef(glmaffnb))

6-element Array{Float64,1}:
 1.3935600110230184
 1.3139428682448457
 0.3027969691945509
 0.6775210913867913
 0.9218312041654065
 1.0748353924095455

deviance(glmaffnb) # 314.9101838376581

 

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« R 4.0.4 が出たけど(問題解消) | トップ | Julia でコンソールから入力 »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事