1 + 1
3 - 4
5 * 2
6 / 3
4 ** 2
import numpy as np
np.sqrt(16)
# 参考
import numpy
numpy.sqrt(16)
x = 1
x + 1
x
a
# コメントです
# 1 + 1
1 + 1
"""複数行に
わたる
コメントです
1 + 1"""
# データを読み込むのに必要なライブラリ
import numpy as np
from pandas import Series,DataFrame
import pandas as pd
# arrayを作る(numpyのimportが必須です)
sample_array = np.array([1,2,3,4,5])
sample_array
# DataFrameにする(pandasのimportが必須です)
pd.DataFrame({'col1':sample_array})
# 複数列のDataFrameにする
pd.DataFrame({'col1':sample_array, 'col2':np.array([6,7,8,9,0])})
# CSVファイルの読み込み
data = pd.read_csv("poissonData.csv")
# えさの量と猫の数を調べた架空の調査データです
data
# クリップボードからも読み込めます
data2 = pd.read_clipboard()
data2
# 統計モデルを推定するライブラリ
import statsmodels.api as sm
import statsmodels.formula.api as smf
# グラフを描画するライブラリ
from matplotlib import pyplot as plt
import seaborn as sns
# グラフをjupyter Notebook内に表示させるための指定
%matplotlib inline
# 散布図を書く
# fit_regをtrueにすると、回帰直線が引かれてしまうので注意
# 散布図の引き方はたくさんあるが、これが一番情報量が少なくてシンプルだと思います
sns.lmplot(x="esa", y="neko", data=data,fit_reg=False)
# ポアソン回帰のモデルの設定
glm_pois = smf.glm(formula="neko ~ esa", data=data, family=sm.families.Poisson())
# fitという関数を実行すると、モデルが推定される
result_pois = glm_pois.fit()
# 結果の表示
result_pois.summary()
# 予測用の説明変数を作る
esa_plot = np.arange(0, 5, 0.1)
# 結果の表示
esa_plot
# DataFrameの形式にする
pd.DataFrame({'esa':esa_plot})
# 予測する
pred = result_pois.predict(exog = pd.DataFrame({'esa':esa_plot}))
# 結果の表示
pred
# 予測結果を図示する
sns.lmplot(x="esa", y="neko", data=data,fit_reg=False)
plt.plot(esa_plot, pred)