〔概要〕アイスと気温の関係の表示を行うプログラムです。
- 参考文献
- 一般社団法人 日本アイスクリーム協会、アイスクリームBIZ
- 気象庁、過去の気象データ・ダウンロード
〔参考〕
- 統計の調査環境の整備
- 統計学習の指導のために > 補助教材 > 総合学習のための補助教材 >「高校生のための統計学習教材」
〔技法〕散布図、単回帰分析(sklearn )、ローカルファイル(CSV)の読み込み、pandas
データの例:ice_temperature.csv
x,y
18.6,510
18.2,482
24.6,610
24.2,689
28.7,1040
32.6,1123
32.5,1155
37.3,1658
35.1,1025
26.7,649
24.9,573
17.2,599
【Excelで試す】
はじめにExcelで試してみます。
(1) 「ice_temperature.csv」をExcel形式で保存
(2) メニューから[挿入]→[散布図]を選択して、グラフを作成する。
(3) メニューから[グラフのデザイン]→[グラフ要素を追加]→[近似曲線]→[線形]を選択して、回帰直線を表示する。
(4) メニューから[グラフのデザイン]→[グラフ要素を追加]→[近似曲線]→[その他の近似曲線オプション]→[グラフに数式を表示する]を選択して、回帰式を表示する。
(5) 回帰式が「y = 47.183x – 417.81」と表示されました。
【Python】
次にExcelで同様の処理を行います。
〔実行例〕
コマンドラインに、次のように回帰変数と切片が表示されます。Excelの結果と一致していることが確認できます。
[[47.18265165]]
[-417.81317647]
〔プログラム〕
# アイスと気温の関係(単回帰分析)
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import linear_model
df = pd.read_csv('ice_temperature.csv')
x = df[['x']]
y = df[['y']]
model = linear_model.LinearRegression()
model.fit(x, y)
print(model.coef_)
print(model.intercept_)
# グラフ表示
plt.plot(x,y,'o')
plt.plot(x,model.predict(x))
plt.show()
Copyright (C) 2022 Easy Programming