buto > /dev/null

だいたい急に挑戦してゴールにたどり着かずに飽きる日々です

Python クリスマスプレゼントの予算を予測!

今年のクリスマスプレゼント予算を勝手に予測

私はクリスマスが好きです クリスマスプレゼントも好きです なのでクリスマスプレゼントの平均予算を冬のボーナス平均金額から求めてみます 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:年末賞与の平均金額

f:id:butorisa:20201020134124p:plain

# 説明変数
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

ボーナスは上がってるけれど、プレゼントの予算は下がっています

f:id:butorisa:20201020134142p:plain

2019年クリスマスプレゼントの平均予算「12,477円」

回帰分析の結果からボーナスからプレゼントの予算を求める式は y=-0.04x+42389.40 とします 2019年の年末賞与平均金額は「747,808円」なので計算すると「12,477.08」となりました 去年より約4000円アップはしないんじゃない?と感じましたが私にとっては都合のいい結果です

Haskellコマンドラインに入力した金額が予測した平均予算より高いか安いかを判定する コードを書いてみました(Haskellむずかしい)