statsmodels.formula.api.glm() コマンドでガンマ回帰分析を行う。一般化線形モデルとして行う。
Python を起動し、必要なライブラリを import する。
import pandas as pd import statsmodels.formula.api as smf import statsmodels.api as sm
通常は Excel 等で作成した CSV ファイルを pandas に読み込んで分析する。しかし、ここでは便宜的に以下の簡単なデータフレームを作成し、data という変数に格納しておく。
data = pd.DataFrame({"出血量":[10,200,300,5,5,3,250,500], "手術方法":["内視鏡","開腹","開腹","内視鏡","内視鏡","内視鏡","開腹","開腹"], "手術時間":[60,50,60,60,30,40,60,50]})
data の内容を確認する。
data
statsmodels.formula.api.glm() コマンドでガンマ回帰分析を行う。リンク関数は逆関数が自動的に選択される。
result = smf.glm(formula = "出血量 ~ 手術時間 + 手術方法", data = data, family = sm.families.Gamma()).fit() result.summary() #結果の表示 result.aic #赤池情報量基準
リンク関数を対数関数にしたい場合は以下のようにする。
result = smf.glm(formula = "出血量 ~ 手術時間 + 手術方法", data = data, family = sm.families.Gamma(sm.families.links.log)).fit() result.summary() #結果の表示 result.aic #赤池情報量基準