Rで何かをしたり、読書をするブログ

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

読書記録 - 「生物多様性とは何か」 井田 徹治 著 (岩波新書)

2010年6月18日に第1刷で、私が手にしたのは2021年1月15日の第7刷でした。

14年前の本なので、細かいところは現在と違いがあるでしょう。(詳しく検証はしていないです)

生物多様性条約にアメリカが署名していないのは変わっていないです。

生物多様性が失われていく現在の地球は、空を飛んでいる飛行機から鋲(リベット)が一つ一つ取れていくようなもので、ある日、突然、空中分解してしまう、という「リベット仮説」は心に残りました。

できる限り、生物多様性を守らなくてはいけないと再認識しました。

失業率・第3次産業活動指数・消費者物価指数の時系列データ分析4 - Serial Correlation の有無をテストして、Cochrane - Orcutt 法を使って推定する。

Bing Image Creator で生成: Clover flowers, photo, landscape

 

www.crosshyou.info

の続きです。

前回は、

第3次産業活動指数 = 118.4862 - 5.7238 * 失業率 + トレンド + 季節性 + 誤差項

という回帰式を得るところまでできました。

今回は、

こちらの

12-3a A t Test for AR(1) Serial Correlation with Strictry Exogenous Regressors

に記載されている方法で Serial Correlation の有無をテストします。

まず、resid() 関数で residuals を生成します。

どうなんでしょうね。。。グラフを見ただけでは、 Serial Correlation があるかどうか、私には判別できません。

dynlm() 関数で residual(t) = β0 + β1 * residual(t-1) の回帰式の β を推計します。

L(residuals) の係数は、0.583231 でした。p値は 5.36e-11 と非常に小さい値ですので、Serial Correlation があることがわかりました。

Serial Correlation があるときは、OLS での推計は正しくないようなので、Cochrane - Orcutt 法で推計します。

まず、orcutt パッケージの読み込みをします。

cochrane.orcutt() 関数を使います。

unem: 失業率の係数は、-3.442719 でした。OLS で推計した係数よりも値は小さくなりましたが、p値は 0.0027010 でしたから、1%以下の水準で有意です。

やはり、失業率が高いときは、第3次産業活動指数は低いですね。

季節性のダミー変数の係数に注目すると、3月や12月は第3次産業活動指数の値が高いようです。3月は年度末、12月は年末でクリスマスシーズンなので、値が高いのは納得できると思います。

今回は以上です。

初めから読むには、

www.crosshyou.info

です。






 

読書記録 - 「物語 フランス革命 バスチーユ陥落からナポレオン戴冠まで」 安達 正勝 著 中公新書

<<フランス革命は世界史の新しい時代を切り開いた輝かしい革命であり、フランス革命を抜きにして現代世界を考えることはできない>>

あとがきの冒頭で作者はこのように述べています。

実際、国民主権や、法の前の平等などの「自由、平等、友愛」の精神は現代社会の基本的な考えになっています。

革命の指導者がフランスだけでなく、極東の日本を含む世界中の国・地域にもこの考えを広めようとしていた、ということをはじめて知りました。

この本は事実を淡々と記述するというスタイルではなくて、ところどころに作者の考えが入ったり、いろいろな人物の評伝があったりして、一気に読みました。

ロラン夫人をはじめとして、いろいろな女性が革命の中で大きな役割を果たしていたことを知りました。それでも、女性の参政権が認められたのは20世紀になってから、という事実に何か大きなものを感じました。

失業率・第3次産業活動指数・消費者物価指数の時系列データ分析3 - 失業率が上昇すると、第3次産業活動指数は低下する。

Bing Image Creator で生成: green field of daisies flowers, background is galaxy stars, photo

www.crosshyou.info

の続きです。

前回は、Finite Distributed Lag Model という枠組みで、

dai3ji = β0 + β1 * unem + β2 * L(unem) + β3L(unem, 2) + u という式の係数を推定しました。

結果は、

dai3ji = 103.785 - 4.835 * unem - 7.550 * L(unem) + 11.132 * L(unem, 2) + u となりました。

今回は、まず

こちらの本の 10-5b の時系列トレンドを加えたモデルを試してみます。dynlm() 関数で、trend() 関数を使います。

trend(dts) の係数は、-1.1082 でした。p値は 0.000631 と 0.1%水準以下でも有意な値ですね。トレンドの係数の符号がマイナスということは、第3次産業活動指数は低下するトレンドですね。

unem, L(unem), L(unem, 2) 3つ合わせた係数は、-5.5538 です。失業率が 1% 上昇すると、第3次産業活動指数は 5.5538 低下するということですね。

トレンドが入ってないモデルでの3つ合わせた係数は、 -1.253 でしたので、トレンドを考慮すると、より、失業率が第3次産業活動指数に影響を与えていることがわかります。

次は、上の参考書の 10-5e の 季節性を取り入れたモデルを試します。season() 関数を使うと簡単です。

全体の p値 が < 2.2e-16 とほとんどゼロです。

時系列の係数は、-1.1676 で有意なのはかわらずです。

unem, L(unem), L(unem, 2) を3つ合わせた係数は、-5.4449 - 2.2303 + 1.9539 = -5.7213 です。季節性と取り入れたモデルのほうが、さらに失業率の影響が強まりました。

L(unem), L(unem, 2) の係数の p値 が どちらも 0.2 以上なので、有意ではないですね。

linearHypothesis() 関数で、L(unem), L(unem, 2) が有意かどうか調べます。

p値 が 0.8775 ですから、L(unem), L(unem, 2) は不要なようです。

dai3ji = β0 + β1 * unem + トレンド + 季節性 + u

のモデル式を試しましょう。

全体の p値は < 2.2e-16 と実質ゼロです。

unem の係数は、-5.7238 で p値は 3.55e-14 とほとんどゼロです。

いままでのモデルで一番 -5.7238 が大きな数字です。

Finite Distribute Lag Model に トレンド、季節性を加えたら、ラグ項目は不要になって、Static Model になりました。

失業率が 1% 上昇すると、第3次産業活動指数が 5.7238 低下する、となりました。

今回は以上です。

次回は、

www.crosshyou.info

です。

 

初めから読むには、

www.crosshyou.info

です。

 

失業率・第3次産業活動指数・消費者物価指数の時系列データ分析2 - Static Model と Finite Distributed Lag Model - 失業率が上昇すると、第3次産業活動指数は低下する。

Bing Image Creatorで生成: Hydrangea flowers in nature wild fields, photo

 

www.crosshyou.info

の続きです。

前回は、CSVファイルのデータを R に読み込みました。

まずは、plot() 関数でグラフにしてみます。

どうでしょうか、第3次産業活動指数は、定期的に高い値の月がある感じですね。

cor() 関数で変数間の相関係数をみてみます。

一番相関係数の大きな組み合わせ(絶対値ベース)がunem: 失業率と dai3ji: 第3次産業活動指数ですが、-0.173 と大きな値ではありません。

 

こちらの本の 10-2a に書かれている Static model を回帰分析します。

dai3ji: 第3次産業活動指数を被説明変数にして、unem: 失業率と cpi: インフレ率を説明変数にしました。失業率が1%上昇すると、第3次産業活動指数は1.832ポイント低下します。

p値は0.0561なので、10%水準では有意ですが、5%水準では有意ではありません。

インフレ率は1%上昇すると、第3次産業活動指数は0.4794ポイント上昇しますが、p値は0.3529なので有意ではないです。

モデル式全体の p値は0.132 なので15%水準で有意、というあまり有効なモデル式ではないですね。

次は、Wooldridgeの本の10-2b の Finite Distributed Lag Model で回帰分析します。

unem, cpi それぞれ、ラグ1、ラグ2を加えてみました。全体の p値が 0.04501 と5%水準で有意な推定結果となりました。

L(unem, 2)、ラグ2の失業率が係数が11.0721 となっています。

unem, L(unem), L(unem, 2) の3つが jointly significant かどうか、car パッケージの linearHypothesis() 関数で調べてみます。

p値は0.006936 と0.6%という小さい値ですので、unem, L(unem), L(unem, 2) は jointly significant です。

失業率が1%上昇し、そのままの状態を維持すると、第3次産業活動指数は、-4.9706 - 7.4284 + 11.0721 = -1.3269 ポイント低下します。

cpi, L(cpi), L(cpi, 2) が3つ合わせて有意かどうかも確認します。

cpi は3つあわせて jountly insignificant ですね。

cpi を加えない Finite Distibuted Lag Model を試します。

式全体の p値が 0.006184 となりました。

L(unem, 3) を加えてみます。

L(unem, 3) の p値は 0.80661 とかなり大きいですね。

L(unem, 2) まででいいような気がします。

今回は以上です。

失業率が上昇すると、第3次産業活動指数は低下する、という関係がわかりました。

次回は、

www.crosshyou.info

 

はじめから読むには、

www.crosshyou.info

です。

失業率・第3次産業活動指数・消費者物価指数の時系列データ分析1 - R でデータを読み込む。

Bing Image Creator で生成: Beautiful early spring nature landscape Japan

今までクロスセクションのデータばかりを扱ってきましたので、今回は時系列データの分析の練習をしてみたいと思います。

使用するデータは、全国ベースの失業率、第3次産業活動指数、物価の時系列です。

データは統計ダッシュボードのウェブサイトから取得しました。

統計ダッシュボード - データ検索画面 (e-stat.go.jp)

理論的な背景は、

R のコードは、

を参考にしています。

ウェブサイトからデータをダウンロードして、変数名を加えたCSVファイルはこんな感じです。

これを R に読み込みます。

はじめに tidyverse パッケージ、lubridate パッケージと dynlm パッケージを読み込んでおきます。

read_csv() 関数で CSVファイルにデータを読み込みます。

glimpse() 関数で、読み込んだデータがどんな様子かみてみます。

time が 文字列型になっているので、これを日付型にするのと、NA がある列をの削除する処理をします。

summary() 関数で df をみてみましょう

2013年1月から2021年12月までのデータです。

失業率は、最小値は2.1%, 最大値は4.4%, 平均値は3.033% です。

第3次産業活動指数は、最小値は83.10, 最大値は114.30, 平均値は100.12 です。

消費者物価指数の前年同期比は、最小値は -1.2%, 最大値は3.7%, 平均値は0.6657% です。

ts() 関数で ts オブジェクトも作成しておきます。

これで、分析のためのデータフレームオブジェクトの df と、時系列オブジェクトの dts が用意できました。

今回は以上です。

次回は、

www.crosshyou.info

です。

読書記録 - 「疑似科学入門」 池内 了 著 (岩波新書)

2008年に発行された本なので、少し古い部分もありますが、今でも読んでおいて損はないと思います。

筆者は疑似科学を三種類に分類しています。

第一種疑似科学は、人の悩みや欲望につけこんで騙すようなものです。

第二種疑似科学は、科学的な、いかにも科学的な用語を使ったり、統計的な数値を持ち出すものです。

第三種疑似科学は、複雑系のシステムに関係するので、現在の科学水準では白とも黒とも言えないものです。

何事の鵜呑みにせずに、自分の頭でしっかり考えることが大切だということです。

カール・ポパーの科学の定義の一つ、「反証できるもの」ということ、つまり、「~~をして、~~の結果になったら、~~は反証できる」ということが成り立たないと科学にはならない、ということを心にとめておきたいと思いました。