1から始めるPythonデータ分析 - やりたいこと逆引きリスト ▶︎▶︎

今注目の”あるもの”の価格と検索数をGoogle検索で分析してみた

今注目の”ビットコイン”を調べてみます

イーロン・マスクが参入したことで、改めて注目を集めている「ビットコイン

今回はその仮想通貨をGoogle検索で分析してみます

分析の定義

  • 期間:2016-05-29 ~ 2021-05-16
  • 検索:「ビットコイン」
!pip install pytrends
from pytrends.request import TrendReq
pytrends = TrendReq(hl='ja-JP', tz=-540)
import numpy as np 
import pandas as pd 
!pip install japanize-matplotlib
import japanize_matplotlib
%matplotlib inline 
import datetime as dt

まずはビットコインの価格から

ビットコインの価格の推移

2018年1月の前後で急激に上がっています

2020年に入ってさらに高騰していて、以前の数倍にもなっています

bitcoin = pd.read_excel('/content/drive/MyDrive/Python/ビットコイン.xlsx')
bitcoin = bitcoin.rename(columns={'価格':'価格'})
bitcoin.set_index('date').plot(color='goldenrod',title='「ビットコイン」の価格')

続いて「ビットコイン」の検索推移を

ビットコインの検索の推移

2018年に検索の大きな山が来ています

また2021年に入り検索が増えています

kw_list = ['ビットコイン']
pytrends.build_payload(kw_list=kw_list,geo='JP')
df = pytrends.interest_over_time().drop('isPartial',axis=1)
df.plot(color='red',title='「ビットコイン」の検索数推移')

価格と検索を重ねてみます

ビットコインの検索と価格の推移

「価格」「検索」それぞれ盛り上がっている時期は同じですが

上がり幅に大きな差があります

「価格」の方は2021年の方が高く、「検索」の方は2018年で高くなります

2回目の上昇はある程度想定済みなのかもしれません

bitcoin = bitcoin.merge(df, on='date', how='left').set_index('date')
bitcoin.dropna(subset=['ビットコイン'], inplace=True)
bitcoin = bitcoin / bitcoin.max()
bitcoin = bitcoin.rename(columns={'ビットコイン':'検索'})
bitcoin.plot(color=('goldenrod','red'),title='「ビットコイン」の検索と価格')

上昇率で比べてみると…?

ビットコインの検索と価格の上昇率

前日からの上昇率で比較すると、似たような傾斜になります

「検索」の方が振れ幅が大きいですね!

bitcoin = bitcoin.pct_change()
bitcoin['基準線'] = 0
bitcoin.plot(color=('goldenrod','red','gray'),title='「ビットコイン」の検索と価格の上昇率')

相関関係はあるのか?

ビットコインの検索と価格の散布図

2021年からのデータで散布図と相関係数を出してみます

相関係数=0.83となり、強い相関があることが分かりました

また散布図で分かる通り、価格が低く検索も少ないプロットが左下にたくさん表示されています

kw_list = ['ビットコイン']
pytrends.build_payload(kw_list=kw_list,geo='JP',timeframe='2020-1-1 2021-5-31')
df = pytrends.interest_over_time().drop('isPartial',axis=1)
bitcoin = pd.read_excel('/content/drive/MyDrive/Python/ビットコイン.xlsx')
bitcoin = bitcoin.merge(df, on='date', how='left').set_index('date')
bitcoin.dropna(subset=['ビットコイン'], inplace=True)
bitcoin = bitcoin / bitcoin.max()
bitcoin = bitcoin.rename(columns={'ビットコイン':'検索'})
bitcoin.plot.scatter(x='価格',y='検索',color='dodgerblue',title='「ビットコイン」の散布図 相関係数=0.83')

まとめ

「ビットコイン」の価格と検索では、近似した推移になることが分かりました

仮説としてビットコインの価格が高騰するとそれがニュースになり、検索数が増加するのだと想定されます

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です