今回は先日発表された日銀の短観データを分析してみます。
日銀のウェブサイトからダウンロードしたファイルは、上のようなものでした。
これを
こんな感じにデータを組みなおして、read.csv関数でR言語で読み込み、分析してみます。
summary関数でそれぞれの変数のおおよその様子をみてみます。
Sectorは製造業、全産業、非製造業の3種類です。Indusはたくさんあります。Timeは調査時期で、Junは2019年6月調査、Sepは2019年9月調査です。Scaleは調査した企業の規模で大企業、中堅企業、中長期業の3種類です。Typeは短観の種類で最近の業況判断と先行きの判断の2種類です。Valueは短観の数値ですね。
Valueが反応変数で数値データ、その他が説明変数で全てカテゴリカルデータです。
この場合の分析は、ANOVA分析です。
とりあえず、短観の数値、Valueの箱ひげ図やヒストグラム、小さい順グラフを描いてみましょう。
hist関数でヒストグラムを描きます。短観は0より大きいと景気がよくて、0より小さいと景気が悪いとなりますから、ヒストグラムを見ると、0よりも大きい値のほうが多いですので、2019年6月と2019年9月はおおむね景気は良かったのではないでしょうか?赤の垂線が平均値、青の垂線が中央値です。
boxplot関数で箱ひげ図を描きます。下に2つ。上に3つの外れ値があります。
sort関数で小さい順に並べて、plot関数でグラフを書きます。
こうして三つのグラフを見ると、短観のデータは都道府県別の人口や県内総生産のデータと比べるとかたよりが少なく、平均値を中心にまとまっているように感じます。
それではANOVAをしてみましょう。ANOVAはAnalysis of Varianceの意味です。
まずは、説明変数をTimeにしましょう。JunとSepで値が短観の値は違うといえるのかどうかを調べてみます。いつものように参考図書は
Statistics: An Introduction Using R
- 作者: Michael J. Crawley
- 出版社/メーカー: Wiley
- 発売日: 2019/12/09
- メディア: ペーパーバック
- この商品を含むブログを見る
です。
まずは、グラフでみてみましょう。
黒の点がJun、つまり6月調査の点で赤の点がSep、9月調査の点です。黒い水平線が6月調査の平均値で、赤い水平線が9月調査の平均値です。2つの平均値の違いは、それぞれのデータのばらつきぐあいから見ると大した違いではなさそうですね。
まずは、SSY、sum of the square of the differences between y values and the overall meanを計算します。yというのは今回は短観の値ですね。
SSYは68298.76と求められました。
次は、SSE、the error sum of squaresを計算します。
SSEは67738.55です。
SSYとSSEがわかったので、SSA、the treatment sum of squaresを計算します。
ここで短観のデータの数を確認しておきましょう。
データの数は396個ですね。なので、ANOVA表はこうなります。
SSEのMean squareは67338/394を計算します。そしてF ratioは560をSSEのMean squareで割った値です。
なので、完成したANOVA表は、
となります。
ANOVA表が完成したので、次は、qt関数を使ってF ratioの3.26という値が意味のある値なのかどうかを調べます。
3.865が基準値ですので、それよりも小さい3.26というF ratioでは、Timeによる違いは無い、ということですね。
最後にaov関数とsummary関数を使って結果を確認しましょう。
P値が0.07818と0.05よりも大きいので、JunとSepでValueの平均値に違いが無いという帰無仮説は棄却できません。今回は以上です。