今年のクリスマスプレゼント予算を勝手に予測
私はクリスマスが好きです クリスマスプレゼントも好きです なのでクリスマスプレゼントの平均予算を冬のボーナス平均金額から求めてみます scikit-learnで単回帰分析と同じ方法で統計データから分析をします
使ったデータ - クリスマスプレゼントの予算(2016~2018年・全年齢平均) - 楽天インサイト クリスマスに関する調査 - 東証1部上場企業の冬ボーナス額(2016~2018年) - 労務行政研究所 東証第1部上場企業の2019年年末賞与・一時金(ボーナス)の妥結水準調査
import pandas as pd from sklearn import linear_model import matplotlib.pyplot as plt %matplotlib inline data = pd.read_csv('./xmas_gift_price.csv', header=0) df = pd.DataFrame(data) pd.DataFrame(data)
year:年度 avg_gift_price:プレゼントの平均予算 bonus:年末賞与の平均金額
# 説明変数 x = data[['bonus']] # 目的変数 y = data[['avg_gift_price']] # 単回帰分析を実施 clf = linear_model.LinearRegression() clf.fit(x,y) print('回帰係数:{}'.format(clf.coef_[0])) print('切片:{}'.format(clf.intercept_))
回帰係数:[-0.04470642] 切片:[42389.40089631]
# グラフを表示 plt.scatter(x, y) plt.plot(x, clf.predict(x), color='red') plt.xlabel('bonus') plt.ylabel('avg_gift_price') plt.show
ボーナスは上がってるけれど、プレゼントの予算は下がっています
2019年クリスマスプレゼントの平均予算「12,477円」
回帰分析の結果からボーナスからプレゼントの予算を求める式は y=-0.04x+42389.40 とします 2019年の年末賞与平均金額は「747,808円」なので計算すると「12,477.08」となりました 去年より約4000円アップはしないんじゃない?と感じましたが私にとっては都合のいい結果です
Haskellでコマンドラインに入力した金額が予測した平均予算より高いか安いかを判定する コードを書いてみました(Haskellむずかしい)