crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

都道府県別の一般事業投資額のデータ分析3 - R言語のscale関数で正規化してヒストグラムと箱ひげ図を描く。

 

www.crosshyou.info

 の続きです。

今回は、前回に引き続き、2015年調査のデータに注目して、各変数のヒストグラムを作成してみたいと思います。

まずは、各変数の2015年調査のデータを作成します。tapply関数を使って都道府県別のデータを作成します。

Non215は2015年調査の従業も通学もしていない人口の割合。

Sala215は2015年調査の1人当りの賃金・俸給。

Zai215は2015年調査の1人当りの財産所得。

Tou215は2015年調査の1人当りの一般事業投資額。

Sho15は2015年調査の1人当りの県民所得です。

f:id:cross_hyou:20200331183724j:plain

こうして作成した各変数をhist関数でヒストグラムにします。

f:id:cross_hyou:20200331183917j:plain

f:id:cross_hyou:20200331183837j:plain

これだと、各変数のスケールがバラバラなので、ヒストグラムの形状は比較できますが、バラツキどあいは比較できないですね。データを正規化してみましょう。scale関数を使います。

f:id:cross_hyou:20200331185126j:plain

 

f:id:cross_hyou:20200331185148j:plain


Zai215(2015年調査の1人当り財産所得)が右側にひとつ離れ小島のようになっているデータがありますね。東京都です。

正規化したデータで箱ひげ図も描きましょう。boxplot関数を使います。

f:id:cross_hyou:20200331192109j:plain

f:id:cross_hyou:20200331192120j:plain

cex = 4 というオプションを入れて、外れ値のまるを大きくわかりやすくしました。

今回は以上です。

都道府県別の一般事業投資額のデータ分析2 - R言語のsort関数で並び替え。岩手県が1人当り一般事業総投資額が一番多い。

 

www.crosshyou.infoの続きです。

今回は前回作成したデータ、従業も通学もしていない人口比率: Non2, 1人当りの賃金・俸給(百万円): Sala2, 1人当り財産所得(百万円), 1人当り県民所得(千円), 1人当り一般事業総投資額について、どの都道府県が多いか少ないか調べてみようと思います。2010年と2015年の調査年のうち、2015年調査のデータで調べてみましょう。sort関数、tapply関数、max関数を使いました。

f:id:cross_hyou:20200329161712j:plain

東京都が一番割合が低く28.33%です。秋田県が一番高く39.90%です。

次は、1人当りの賃金・俸給(百万円): Sala2です。

f:id:cross_hyou:20200329162049j:plain

秋田県が一番低く118万9千円です。東京都が一番高く219万3千円です。

1人当りの財産所得(百万円): Zai2を並び替えます。

f:id:cross_hyou:20200329162540j:plain

 宮崎県が一番低く7万6千円です。東京都が一番高く62万2千円です。

1人当りの県民所得(千円): Shoを並び替えます。

f:id:cross_hyou:20200329162903j:plain

沖縄県が一番低く216万6千円です。東京都が一番高く537万8千円です。

1人当りの一般事業総投資額(千円): Tou2を並び替えます。

f:id:cross_hyou:20200329163247j:plain

埼玉県が一番低く7万2830円です。岩手県が一番高く58万9400円です。

今回は以上です。

 

都道府県別の一般事業投資額のデータ分析1 - R言語で基本統計量を算出。

今回は都道府県別の一般事業投資額のデータを分析したいと思います。

f:id:cross_hyou:20200329104855j:plain

データは政府統計の総合窓口、e-Statから取得しました。

www.e-stat.go.jpここからCSVファイルをダウンロードしました。

f:id:cross_hyou:20200329105114j:plain

各変数名は、

Nen: 調査年

Chi: 地域

Jin: 総人口(人)

Non: 従業も通学もしていない人口(人)

Sho: 1人当り県民所得(千円)

Sala: 賃金・俸給(百万円)

Zai: 財産所得(百万円)

Tou: 一般事業投資額

になります。

R言語のread.csv関数で読み込みます。

f:id:cross_hyou:20200329113940j:plain

read.csv関数で読み込んだあとに、na.omit関数でNAのある行を削除しました。そして、str関数でdfのデータ構造を確認しています。データフレームで、94の観測と8の変数を持つデータです。

従業も通学もしていない人口を実数でなく、総人口に対する割合(%)にしましょう。

f:id:cross_hyou:20200329114716j:plain

round関数で小数点以下2桁にしました。summary関数で最小値などを計算しました。最小値は、28.33%、最大値は、40.36%、平均値は36.39%、中央値は36.37%です。

1人当りの賃金・俸給(百万円)を求めます。

f:id:cross_hyou:20200329115311j:plain

最小値は、115万4千円、最大値は222万8千円、平均値は157万1千円、中央値は157万0千円です。

1人当りの財産所得(百万円)を求めます。

f:id:cross_hyou:20200329115805j:plain

最小値は、7万5千円、最大値は62万2千円、平均値は15万05百円、中央値は13万6千円です。

一人当たりの一般事業総投資額を求めます。

f:id:cross_hyou:20200329120419j:plain

最小値は7万1910円、最大値は、58万9400円、中央値は18万1250円、平均値は18万8570円です。

1人当りの県民所得の平均値なども求めましょう。

f:id:cross_hyou:20200329120847j:plain

最小値は198万1千円、最大値は537万8千円、平均値は276万1千円、中央値は272万0千円でした。

ここで分析で使う変数を整理しましょう。

Nen, Chi, Sho, Non2, Sala2, Zai2, Tou2ですね。

Nen(調査年)はファクタですが、要素が0の水準も残っていますから、整理します。

f:id:cross_hyou:20200329121633j:plain

調査年は、2010年度と2015年度の2つだけですね。

今回は以上です。

 

読書記録 - 「日本語の歴史」山口仲美 著(岩波新書)

 

日本語の歴史 (岩波新書)

日本語の歴史 (岩波新書)

  • 作者:山口 仲美
  • 発売日: 2006/05/19
  • メディア: 新書
 

 奈良時代、平安時代、鎌倉・室町時代、江戸時代、明治時代以後にわけて日本語がどのように変化してきたか、特に話し言葉と書き言葉のせめぎあいを一つの軸として書かれている。読みやすい語り口で面白かった。

カタカナとひらがなの違いや、明治時代の言文一致がなかなかの大事業だったということがわかった。

 

都道府県別の1人当り最終エネルギー消費量のデータ分析5 - R言語のlm関数で変化幅を重回帰分析する。そしてNull Modelが残った。

 

www.crosshyou.info

の続きです。今回は前回作成した、diffEnをdiffPrとdiffShで重回帰分析してみたいと思います。

まずは、2乗項も交差項も入ったモデルからスタートします。

f:id:cross_hyou:20200326193759p:plain

一番下の行のp-valueが0.3537とありますから有意なモデルではないです。

まず交互作用を削除します。update関数を使います。

f:id:cross_hyou:20200326194034p:plain

anova関数でmodel1とmodel2を比較しています。一番したの行の0.2205がp値です。0.05よりも大きいですからmodel1もmodel2も有意な違いは無いです。

model2を見てみます。

f:id:cross_hyou:20200326194255p:plain

p-valueが0.4042と0.05よりも大きいですからこれも有意なモデルではないです。

diffShを削除してみます。

f:id:cross_hyou:20200326194443p:plain

p値が0.7948ですので、model2とmodel3では有意な違いはないですね。

model3を見てみます。

f:id:cross_hyou:20200326194627p:plain

p-valueが0.2625なので有意なモデルではありません。I(diffPr^2)を削除します。

f:id:cross_hyou:20200326194902p:plain

p値が0.5368と0.05よりも大きいのでmodel3とmodel4に有意な違いはありません。

model4を見てみます。

f:id:cross_hyou:20200326195040p:plain

p-valueが0.1619と0.05よりも大きいので有意なモデルではありません。

I(diffSh^2)を削除してみます。

f:id:cross_hyou:20200326195306p:plain

説明変数がdiffPrだけになったので、update関数は使わず、lm関数を使いました。p値は0.5777と0.05よりも大きいので、model4とmodel5で有意な違いはありません。

model5を見てみます。

f:id:cross_hyou:20200326195543p:plain

p-valueが0.06653と0.05よりも大きいので有意なモデルでは無いですね。diffPrも削除したNull modelを調べてみます。

f:id:cross_hyou:20200326195806p:plain

p値は0.06653と0.05よりも大きいですからmodel5とnull_modelは有意な違いはありません。Null modelというのは説明変数がなくて切片だけのモデルです。

つまり、反応変数 = 反応変数の平均値

というモデルです。null_modelを見てみましょう。

f:id:cross_hyou:20200326200414p:plain

null_modelの切片は-14.266ですが、これはdiffEnの平均値の-14.26596と一致します。

つまり、1人当り最終エネルギー消費量の変化幅は、15-64歳人口の変化幅や1人当り県民所得の変化幅とは関係が無いということです。

今回は以上です。

 

都道府県別の1人当り最終エネルギー消費量のデータ分析4 - R言語で2007年度と2015年度を比較する。すべての都道府県でエネルギー消費量は減少

 

www.crosshyou.info

 の続きです。

今回は2007年度と2015年度のデータを比較してみたいと思います。

まず、20015年度 - 2007年度というデータをつくらないとですね。

f:id:cross_hyou:20200326190036p:plain

tapply関数で上のようにして作成しました。tapply関数で作ると、都道府県の順番が揃います。

2007年度 vs 2015年度の散布図を描いてみましょう。

f:id:cross_hyou:20200326190522p:plain

f:id:cross_hyou:20200326190536p:plain

左がPratio(15-64歳人口割合), 真ん中がShotoku(1人当り県民所得), 右がEnergy(1人当り最終エネルギー消費量)ですね。X軸が2007年度、Y軸が2015年度です。基本的に比例関係にあります。

それでは、それぞれ変化幅を計算してsort関数を使って小さい順に並べてみます。

まずは、Pratioの変化です。

f:id:cross_hyou:20200326191004p:plain

すべての都道府県でマイナスです。つまり、すべての都道府県で15-64歳人口割合が減少しました。こどもの数は増えていないですから、老人の割合が増えたのでしょう。

Shotokuはこうなりました。

f:id:cross_hyou:20200326191254p:plain

東京都は53万1千円減少です。岩手県は36万2千円増えたのですね。

Energyはどうでしょうか?

f:id:cross_hyou:20200326191522p:plain

全ての都道府県で減少しています。低エネルギー消費になっているということですね。山口県が一番減少しています。38.03GJ減っています。

hist関数でヒストグラムを描いてみます。

f:id:cross_hyou:20200326191920p:plain

f:id:cross_hyou:20200326191930p:plain

真ん中のdiffShと右のdiffEnは左にポツンと離れ小島がありますね。diffShは東京都、diffEnは山口県が離れ小島です。

散布図マトリックスを描いてみます。

f:id:cross_hyou:20200326192427p:plain

f:id:cross_hyou:20200326192438p:plain

相関関係はなさそうな感じです。

cor関数で相関マトリックスもつくりましょう。

f:id:cross_hyou:20200326192713p:plain

diffPrとdiffShの相関は0.058, diffPrとdiffEnの相関は0.270, diffShとdiffEnの相関は0.053とあまり相関はないようですね。

今回は以上です。

都道府県別の1人当り最終エネルギー消費量のデータ分析3 - R言語のlm関数で重回帰分析。scatterplot3d関数で3次元散布図

 

www.crosshyou.info

 の続きです。

今回はR言語のlm関数で重回帰分析をしてみたいと思います。

まず、対数変換後のavgPr(15-64歳人口割合の9年間の平均)、avgSh(1人当り県民所得の9年間の平均)、avgEn(1人当り最終エネルギー消費量)のヒストグラムをhist関数で描いてみます。

f:id:cross_hyou:20200325192550p:plain

f:id:cross_hyou:20200325192601p:plain

log(avgEn)がresponse variable(反応変数)で、log(avgPr)とlog(avgSh)explanatory variables(説明変数)です。

それぞれログをとった変数をlogdfという名前のデータフレームに格納してしまいます。

f:id:cross_hyou:20200325193052p:plain

データフレームは、data.frame関数で作成できます。

それでは、lm関数で重回帰分析をしてみます。

f:id:cross_hyou:20200325193329p:plain

一番下の行にあるp-valueは0.04276と0.05よりも小さいですから有意なモデルです。でも、各説明変数の係数のp値は0.05以上ですね。

とりあえず、p値が一番大きいPrを外したモデルを考えてみます。

f:id:cross_hyou:20200325193647p:plain

p値は0.7082と0.05よりも大きいので、model1とmodel2に有意な違いは無いことがわかりました。model2を見てみましょう。

f:id:cross_hyou:20200325193844p:plain

p値は0.02001とmodel1よりも小さいですね。すべての説明変数の係数のp値も0.05以下なので有意です。でも、R-squaredが0.2024なので、説明力は低いですね。

I(Pr^2)とShの交互作用を加えてみます。

f:id:cross_hyou:20200325194247p:plain

p値は0.7273なので0.05よりも大きいので、加えても意味なかったですね。それでは、I(Pr^2):I(Sh^2)を加えてみます。

f:id:cross_hyou:20200325194554p:plain

これも意味なかったですね。

それでは、Sh:I(Sh^2), つまりI(Sh^3)を加えてみます。

f:id:cross_hyou:20200325194810p:plain

これも意味なかったですね。model2がいいということですね。

せっかくなので、3次元散布図を描いてみます。

stats.biopapyrus.jpのサイトを参考にしました。ありがとうございます。

まず、scatterplot3dというパッケージをインストールする必要があるそうです。

f:id:cross_hyou:20200325195609p:plain

library関数でこのパッケージを読込みます。

f:id:cross_hyou:20200325195725p:plain

あとは、scatterplot3d関数で3次元散布図が出来上がります。

f:id:cross_hyou:20200325200930p:plain

f:id:cross_hyou:20200325200941p:plain

Z軸をEnではなくて、モデルで予測した値にしましょう。model2$fitted.valuesにすればいいです。

f:id:cross_hyou:20200325201843p:plain

どうでしょうか?モデルの予測値のほうが実際の値よりもバラツキが小さいようですね。

最後にmodel2の残差プロットを見てみます。

f:id:cross_hyou:20200325202131p:plain

大分県、岡山県、山口県は前回の分析でもそうでしたがこの残差プロットでも外れていますね。

今回は以上です。