====== 【データリテラシー】第11回 時系列データ ====== ===== 時系列データ ===== 身の回りの現象は時間的に変動するものが多い。 その現象の時間的変動を継続観測して得られるデータを__**時系列データ**__という。 時系列データは観測される時間と順序に意味がある。 以下のグラフは日本全体の新型コロナウイルス新規陽性者数の推移(2021年)である。 {{ timeseries_covid19_1.png?nolink |日本全体の新型コロナウイルス新規陽性者数の推移}} 出典:[[https://covid19.mhlw.go.jp/extensions/public/index.html|厚生労働省「データからわかる-新型コロナウイルス感染症情報-」(参照 2022-12-07)]] 時系列データは観測された順番に $y_{1},y_{2},\cdots,y_{n}$ とする。 $i$ 番目の観測値 $y_{i}$ と $j$ 番目の観測値 $y_{j}$ では、$i0$ の場合は各時点の傾向が $h$ 後の時点でも同じ傾向が続き、$r_{h}<0$ の場合は傾向が逆転することを意味する。 $h$ を変化させることで $r_{h}$ も変化する。 横軸に $h$、縦軸に $r_{h}$ をとって描いたグラフを__**コレログラム**__という。 $h$ が大きいほど、より後で観測された観測値との相関になるので、相関は弱くなるのが一般的である。 しかし、周期性を持つ時系列データでは、その周期ごとに相関は強くなる。 コレログラムを見ることで周期がどれくらいか知ることができる。 以下のグラフは新型コロナウイルス新規陽性者数のデータのコレログラムである。 新規陽性者とその7日間移動平均の自己相関係数にはあまり違いがなく、$h$ が大きくなるにつれて相関は徐々に弱くなっている。 ただし、$h=66$ 日にマイナスのピークがあり、新規陽性者数の山と谷はほぼ2ヶ月ごとに現れることを示している(第6波には当てはまらない)。 一方、階差の方は $h=7,14,21,28,\cdots$ と 7 の倍数のときに自己相関係数に鋭いピークが見られるため、短期変動の周期は 7 日であることが分かる。 {{ correlogram.png?nolink |コレログラム}} ===== 指数 ===== 複数の時系列データを比較する際には、ある時点を基準の100として、そこからの変化率で見ることがある。 この変化率を__**指数**__という。 ---- ==== 物価指数 ==== __**物価指数**__とは物価の変動を財・サービスの量と価格を元に計算される指数である。 消費者物価指数や企業物価指数などがある。 消費者物価指数(CPI:Cosumer Price Index)とは、全国の世帯が日常購入する商品やサービスの物価変動を表す指数である。 ある基準となる時点(基準時)に家計で購入した商品やサービスと同じものを、比較する時点(比較時)に買いそろえるとしたらどれだけお金がかかるかという考えで計算されている(ラスパイレス方式)。 比較時の消費者物価指数は、基準時の物価を100として表される。 ラスパイレス方式の計算式は以下のようになる。 \[ I_{t}=\frac{\displaystyle\sum_{i=1}^{n}p_{t,i}q_{0,i}}{\displaystyle\sum_{i=1}^{n}p_{0,i}q_{0,i}}\times 100 \] ^ 変数 ^ 意味 ^ | $I_{t}$ | 比較時の消費者物価指数 | | $i$ | 品目 | | $p_{t,i}$ | 比較時の品目の価格 | | $p_{0,i}$ | 基準時の品目の価格 | | $q_{0,i}$ | 基準時の品目の購入数量 | 以下のグラフは2020年を基準(100)とした消費者物価指数の推移である。 電気代が1980年に急激に上がっているのは第2次オイルショックによるところが大きい。 当時、日本の発電は石油火力発電の割合が大きかったため、原油価格の高騰によって電気代が上がった。 その後、石油への依存割合を減らして天然ガスや石炭の火力発電、原子力発電などの電源を多様化することで電気代は下がり、2011年の東日本大震災で原子力発電が停止してもその他の発電によって補うことができた。 {{ timeseries_cpi.png?nolink |消費者物価指数}} 出典:[[https://www.stat.go.jp/data/cpi/index.html|統計局「消費者物価指数(CPI)」(参照 2022-12-03)]] 参考:[[https://www.ene100.jp/zumen/1-2-7|JAERO「【1-2-7】 電源別発受電電力量の推移」(参照 2022-12-10)]] ===== 演習 ===== * 使用するデータセット:[[https://www.kitp.org/dataliteracy/newly_confirmed_cases_daily_2021.csv|newly_confirmed_cases_daily_2021.csv]] このデータは日本全体の新型コロナウイルス新規陽性者数の日別のデータ(2021年)である。 出典:[[https://covid19.mhlw.go.jp/extensions/public/index.html|厚生労働省「データからわかる-新型コロナウイルス感染症情報-」(参照 2022-12-07)]] 1列目に「日付」、2列目に「日本全国の新規陽性者数」のデータが並んでいる。 ---- ==== ファイルの読み込み ==== 上記の CSV ファイルは 1 列目に日付があるが、ファイルで読み込む際に「日付」であることを認識させる必要がある。 - 起動時の ''**[ファイルを開く]**'' か、メニューバーの ''**[ファイル]**''%%→%%''**[開く]**'' で CSV ファイルを選択する。 - 「テキストのインポート」のダイアログにおいて、「フィールド」で1列目を選択し、「列の種類」を ''**[日付(YMD)]**'' に変更して ''**[OK]**'' ボタンをクリックする((YMD というのは「年(Year)/月(Month)/日(Day)」という並びのフォーマットを意味する。))。{{ data_literacy_past:2022:field_ymd.png?nolink |フィールドの選択}} - シートでは列 A に日付が表示されるはずだが、「''###''」と表示される場合は列幅が足りないので、列幅を広げて正しく表示されるようにする。 - 列 A の列ヘッダで右クリックしてコンテキストメニューから ''**[セルの書式設定]**'' を選択する。 - ''**[数値]**'' タブにおいて「カテゴリー」で ''**[日付]**'' を選択し、「形式」で ''**[12月31日]**'' を選択して ''**[OK]**'' をクリックする。 ---- ==== 新規シートタブの追加 ==== 全国のデータは新しいタブで扱う。 新しいタブでは元のタブからセルの参照でデータを入れることにする。 - シートタブの左にある ''**[+]**'' をクリックして新しいシートを追加する。 - 新しいシートタブをダブルクリックして名前を「全国」にする。 - セル A1 に「日付」、セル B1 に「全国」と入力する(ラベル)。 - セル A2 に「''=''」と入力したまま、マウスでシートタブ「''newly_confirmed_cases_daily_2021''」のセル A2 をクリックして Enter を押す。 - セル B2 に「''=''」と入力したまま、マウスでシートタブ「''newly_confirmed_cases_daily_2021''」のセル B2 をクリックして Enter を押す。 - セル A2 と B2 をコピーして 3 行目から 366 行目まで貼り付ける。 これで列 A に日付、列 B に日本全国の新規陽性者数のデータが表示される。 ---- ==== 折れ線グラフ ==== 全国の新規陽性者数の推移を折れ線グラフで表す。 === データの選択 === - セル A1 から B366 の範囲を選択する。 - メニューバーの ''**[挿入]**''%%→%%''**[グラフ]**'' を選択して「グラフウィザード」のダイアログを表示する。 === ① グラフの種類 === - ''**[線]**'' を選択する。 - 右側の4つある種類から ''**[線のみ]**'' を選択する。 - ''**[次へ]**'' をクリックする。 === ② データ範囲 === はじめにデータ範囲を指定したので、ここでは何もしなくてよい。 - ''**[次へ]**'' をクリックする。 === ③ データ系列 === データ範囲から自動的に Y 値と範囲が設定されるので、ここでは何もしなくてよい。 - ''**[次へ]**'' をクリックする。 === ④ グラフ要素 === - 「タイトル」に「新型コロナウイルス感染症 新規陽性者数の推移」と入力する。 - 「サブタイトル」に「2021年」と入力する。 - 「X 軸」に「日付」と入力する。 - 「Y 軸」に「新規陽性者数 [人]」と入力する。 - ''**[完了]**'' をクリックする。 これで折れ線グラフが描かれる。 === 目盛間隔の変更 === このままだと目盛間隔が広いので、一月ごとに変更する。 - グラフ編集モードにする。 - グラフのX軸の「1月1日」付近をダブルクリックして「X軸」のダイアログを表示する。 - ''**[目盛]**'' タブをクリックする。 - 「種類」を ''**[日付]**'' にする。 - 「主間隔」の ''**[自動]**'' のチェックを外し、''**[1]**'' ''**[月]**'' にする。 - ''**[OK]**'' をクリックする。 === 折れ線の属性の変更 === 折れ線の色などを変更してもよい。 - グラフ編集モードにする。 - グラフ上の青い折れ線のどこかをダブルクリックして「データ系列」のダイアログを表示する。 - ''**[線]**'' タブをクリックする。 - 「線の属性」の「スタイル」「色」「幅」「透明度」を変更する。 - ''**[OK]**'' をクリックする。 ---- ==== 7日間の移動平均 ==== 7日間の移動平均を計算する。 - セル C1 に「7日間移動平均」と入力する(ラベル)。 - セル C5 に「''%%=AVERAGE(B2:B8)%%''」と入力する。 - セル C5 をコピーしてセル C6 から C363 に貼り付ける(セル C364 から C366 には貼り付けない)。 LibreOffice には移動平均を求める機能があるので、それを利用してもよい。 - セル B2 から B366 までを選択する(入力範囲)。 - メニューバーの ''**[データ]**''%%→%%''**[統計]**''%%→%%''**[移動平均]**'' を選択すると「移動平均」のダイアログが開く。 - 「データ」の「結果貼り付け先」に結果を出力したい場所の最初のセル(例えば C1)を指定する。 - 「データ方向」はデータが列方向に並んでいるので ''**[列]**'' を選択する。 - 「パラメーター」は間隔に ''**[7]**'' を入力する。 - ''**[OK]**'' をクリックすると移動平均の結果が出力される。「''#N/A''」と表示されるセルはデータ不足で計算できないところなので気にしなくてよい(削除してもよい)。 Microsoft Excel の分析ツールにも移動平均を求める機能がある。 分析ツールは初期状態では使えないので、アドインの設定で有効にする必要がある。 \\ 余裕があれば折れ線グラフを描いてみよう。 はじめにデータの範囲を選択するやり方ではうまくいかないので、やり方を少し変える。 \\ ** グラフウィザード ** \\ - メニューバーの ''**[挿入]**''%%→%%''**[グラフ]**'' を選択して「グラフウィザード」のダイアログを表示する。 ** ① グラフの種類 ** \\ - ''**[線]**'' を選択する。 - 右側の4つある種類から ''**[線のみ]**'' を選択する。 - ''**[次へ]**'' をクリックする。 ** ② データ範囲 ** \\ - 「データ範囲」に「''全国.A1:A366,全国.C1:C366''」と入力する。 - ''**[次へ]**'' をクリックする。 データ範囲はマウスで選択してもよいが、グラフが邪魔になって選択しにくい。 \\ ** ③ データ系列 ** \\ データ範囲から自動的に Y 値と範囲が設定されるので、ここでは何もしなくてよい。 \\ - ''**[次へ]**'' をクリックする。 ** ④ グラフ要素 ** \\ - 「タイトル」に「新型コロナウイルス感染症 新規陽性者数のトレンド」と入力する。 - 「サブタイトル」に「2021年」と入力する。 - 「X 軸」に「日付」と入力する。 - 「Y 軸」に「新規陽性者数の7日間平均 [人]」と入力する。 - ''**[完了]**'' をクリックする。 \\ ---- ==== 階差 ==== 階差を計算する。 - セル D1 に「階差」と入力する(ラベル)。 - セル D3 に「''%%=B3-B2%%''」と入力する。 - セル D3 をコピーしてセル D4 から D366 に貼り付ける。 余裕があれば折れ線グラフを描いてみよう。 ---- ==== ファイルの保存 ==== CSV 形式だと数式やグラフが保存できない。 ODF 表計算ドキュメント(拡張子 .ods)として保存しよう。 ファイル形式を ODF 表計算ドキュメント(拡張子 .ods)にするには [[office:libreoffice#ファイル形式の変更]] を参照。 ===== 課題 ===== 新型コロナウイルスの新規陽性者数のデータから「**2021年**」「**山形県**」の新規陽性者、7日間の移動平均、階差の3つの折れ線グラフを描きなさい。 新型コロナウイルスの新規陽性者数のデータは以下よりダウンロードする。 * [[https://covid19.mhlw.go.jp/extensions/public/index.html|データからわかる-新型コロナウイルス感染症情報-]] - このページの「新規陽性者数の推移(日別)」のグラフの右下にある「オープンデータ」をクリックして CSV ファイルを保存する。 - 1 列目に「日付」があるので、2021/1/1 から 2021/12/31 までを用いること。 - 3 列目以降に各都道府県の「新規陽性者数」のデータが並んでいるので、この中から「yamagata」の列を探して用いること。 作成したファイルは ODF 表計算ドキュメント(拡張子 .ods)で提出すること。