StatsBeginner: 初学者の統計学習ノート

統計学およびR、Pythonでのプログラミングの勉強の過程をメモっていくノート。たまにMacの話題。

Pythonでよく忘れる、よく間違える書き方

Pandasで要素がNaNかどうかを判定させようとする時、要素を指定してその後ろに.isnull()メソッドを使うんじゃなくて、データフレームに.isnull()を実行してそのあとで要素を指定する。 df.isnull().iloc[1,1] リストのappendは、直接編集するメソッドなので…

Rでジニ係数を算出

めちゃくちゃ簡単なしょうもない内容ですが、あとで個人的に使うので、ジニ係数を出す簡単な関数をメモしておきます。 ここでは例として、都道府県の人口データのジニ係数を出してみます。 データを小さい順に並べて、都道府県数の累積(これは単順番を表すi…

肺炎死者数の月別データで季節調整を試してみる(RからX-13ARIMA-SEATSを利用)

Rでの季節調整をやってみます。 季節調整は、arima関数のseasonal引数を指定したSARIMAモデルや、stl関数でできてそっちは簡単なのですが(参考1・参考2・参考3)、一般的にアメリカ商務省センサス局の「X-12-ARIMA」とか「X-13ARIMA-SEATS」とかが有名なの…

四半期GDP成長率の「年率換算」はどれぐらいブレるのか?

GDPは「四半期速報値」というのが作成されており、前の四半期との比(たとえば2019年7-9期と10-12月期の比)を4乗したものが、「年率換算」の成長率として報道などで使われている。最新の速報では、2019年10-12月期の実質GDPが、年率換算でマイナス7.1%と大…

Macのパーティションがおかしくなった場合の対処

Mac

Mac OS(最近はmacOSというらしいが)のディスクユーティリティでパーティションを変更しようとするとき、よくわからない現象に直面することがたまによくあります。 下記の記事のように、一部のボリュームが消してくても消せない(マイナスボタンがない)状…

対数尤度が正で、AICが負になるケース

初歩的な話ですが、今日学生から訊かれたので例を考えてみました。 AICがマイナスの値になってもいいんだっけ?みたいな話です。 AICがマイナスに 統計モデルの最尤推定をする場合、尤度は1より小さい場合が多く、したがって対数尤度が負である場合が多いと…

researchmapに投入するデータをExcelからCSVに変換するスクリプト(Pythonとbash)

以前、reserchmapにCSVでデータを投入するときの注意点を書きました。 researchmapにCSVで論文のデータを投入するときの注意点 - StatsBeginner: 初学者の統計学習ノート 私は論文の業績はあまり無いので(笑)管理が楽なのですが、一般の雑誌に書いてる文章…

Rでピボットテーブル

学生の分析を手伝っていたところ、突然、Rでピボットテーブルみたいな集計をしたくなりました。 度数分布表はtable関数でつくれますが、ピボットテーブルってどうやるのかな、と。 ググるといろいろやり方が出てきますが、とりあえず、{dplyr}のgroup_byと{t…

Rで動学的パネルデータ分析:plm、panelvarパッケージをつかったGMM推定

plmパッケージとpanelvarパッケージ 最近、パネルデータを扱うことが増えてきたのだが、パネルデータで動学的な(つまりt-1期とかのラグ項が出てくる)分析をやろうとすると最小二乗法ではなくGMM推定量を用いる必要がある。 備忘として、動学的パネルデータ…

Rで忘れがちな書き方(随時追記)

よく忘れることのメモです。 NAかどうかの判定にはx==NAとかではなくではなくis.na(x)を使う 要素に含まれるかどうかの判定は、%in%かis.element()を使う。これはデータ全体の中から何かを抽出するときの条件を複数条件にしたい場面でも使えるときがある。(…

[メモ]Mac版のRでパッケージのインストールに失敗(X Codeのアプデが必要だった)

さっきハマったエラーを解決したので、備忘のためのメモです。 RStudioとRの両方で試したのですが、{panelvar}というパッケージをインストールしようとしたら、依存パッケージのコンパイルのエラーがでて進めなくなりました。 最初、Rの古いバージョンでやっ…

Macで画像ファイルをまとめてPDF化する(ただし名前順にソート)

Macで画像ファイルをまとめてPDFにしたいとき、従来はAutomatorを使ってワークフローを組んでいました。 ところが、いつからか知らないですが、OSに標準でそういう機能が付けられていたようです。 ついさっき、ある人から、とある論文のPDF入手を頼まれたの…

言語学への関心は衰退している?

とある雑誌の連載記事に、 言葉というものは曖昧かつ不安定で捉えにくい対象であることもあって、とりわけ現代思想ブームが終焉し実証的社会科学が隆盛を極めているここ三十年ほどの間は、言語理論への関心は総じて低調であったと言える。「言語論的転回」は…

メモ:Rのts型のインデックス(年・四半期・月情報)を文字列として取り出す

Rのts型(時系列型)のデータについているインデックス("1980 Q1"みたいな)を、文字列情報として取り出す方法が、ぱっとググって分からなかったのですが、とりあえず以下のようにしたらできました。 > library(vars) > data(Canada) > > t <- as.yearqtr(i…

なぜ「p < .05」で「統計的に有意」なのか?――5%基準の由来について

以前も書いたんですが、p値が0.05を下回るかどうかにとらわれる慣習を問題視する人が最近は増えてきていて、たしかにその理由はよく理解できる一方で、p値が過剰にバッシングされている気もします。しかしそんなことより、個人的には、なぜ統計的有意性の判…

Macでひらがな・カタカナの濁点・半濁点が分離してしまったのを元に戻すスクリプト

昨日のエントリで、テキストエディタの「CotEditor」のスクリプト機能の使い方を書きました。その機能をつかって、濁点・半濁点が分離してしまったテキストを元に戻すツールを作ります。 こういうやつをなんとかしたいわけです。 原因がよくわからないし、悩…

CotEditor(テキストエディタ)上の選択範囲をタグで囲むショートカットをPythonで書く

Macでテキストエディタを使うならCotEditorがいいと昔から思っているのですが、CotEditorには、ショートカットの処理とか、あるいは編集中のテキスト上にファイルをドラッグ&ドロップしたときに自動的にテキストを入力するような処理を、自分で追加していけ…

Rで連立方程式を解く練習(例:超小型の日本経済マクロ計量モデル)

先日、『gretlで計量経済分析』という本に載っている二段階最小二乗法の演習をRでやってみるエントリ(リンク)を書いたのですが、同じ本の次の章は「マクロ計量モデル入門」となっていて、1980年から2009年までの日本経済のデータを用い、5本の構造方程式と…

researchmapにCSVで論文のデータを投入するときの注意点

ResearchmapにCSVで論文のデータを投入するときの注意点として、 英語のタブからダウンロードしたフォーマットを使っているなら、英語のタブからインポートしなければならない。 説明書きに、情報がないセルにはnullを入れろと書いてあるが、べつに入れなく…

Rで二段階最小二乗法の演習(『gretlで計量経済分析』を参考に)

『gretlで計量経済分析』という教科書があって、入門的な統計分析を非常にわかりやすく解説していると思いました。 学部レベルの人に統計分析を教える上では、関心の対象が政治や経済なのであれば、こういう「経済ネタ」で統計学が学べる本が良いのかもしれ…

某メーカーの採用担当者に聞いた、研究開発職の新卒採用の裏話

採用の当事者へヒアリング さっき就活エントリを書いたついでに、10年ぐらい前に別のブログに書いたネタを再掲しておこう。 食品会社や製薬会社を狙って研究・開発職志望で就職活動を始めた▲▲大学のA子さんから、エントリーシートの書き方とか面接での自己…

文系の大学院生が就活に苦戦する理由と対策

「文系の院生」は就活で不利? とある就活サイトの人から、リレーブログみたいなものへの参加を依頼されたので、今日は統計ではなく就活の話を書くことにします。この記事は主に企業への就職の話ですが、面接対策の部分は公務員であれ何であれ同じようなこと…

Python3でのメール送信時に日本語の差出人名を使う

以前のエントリで、Pythonからのメールの送信を試しましたが、 www.statsbeginner.net この時は文中にも書いているとおり、差出人名を日本語表示するのがうまく出来ませんでした。 ところがその問題は、下記の方法で解決しました。 teratail.com 要するに、'…

東京一極集中に関するデータ(ソースのメモ)

以下は、分析とかではなくデータのソースについてのメモである。 人口に関する「東京一極集中」がいかに凄いかは、世銀のサイトにある以下のデータをみるのが分かりやすい。 Population in the largest city (% of urban population) | Data 主要国では、日…

RでVARモデル&インパルス応答関数を求めるとき、「ショックの値」をどうやって出すのか?

RでVARモデルを推定してインパルス応答関数を出す時に、インパルス応答関数が対応しているところの「ショック」の大きさが幾らなのかを、どこから得たらいいのかという疑問がわきました。 こういう図を見せられたとして、まぁ増えるのか減るのかさえ分かれば…

Rでの単位根検定はadf.test()関数よりCADFtest()関数がいいのでは?

時系列データをあまり扱わないのでまじめに考えてなかったんですが、Rで単位根検定をする場合、拡張ディッキー=フラー検定(augmented Dickey–Fuller test)を実施してくれるadf.test()という関数があります。 しかしこの関数は、 考慮するラグの次数を指定…

Rで要素番号の指定の仕方をミスった

考えてみればそりゃそうか、という感じではあるのですが、またいつかミスりそうなのでメモしておきます。 たとえば以下のような感じで、startとendの値を変えて適切な期間を取りたいとします。 > v <- c(1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 19…

Pythonの簡単なコードでメールを自動送信してみる

意外と簡単にできた メールを300人ぐらいに発信する必要がありまして、Toに全員入れるわけにはいかないし、BCCで送るのもダサいかなと思って、「1人1人を個別にToに指定して、同じ件名・同じ文面のメールを送る」ってのをPythonでやってみました。*1 標準モ…

Macでの年賀状作成環境について(2018年版)

ブログの趣旨と全然違いますが、備忘のためにまとめておこうと思います。 私は、サボる年もありますが、出す時は年賀状を200人以上に出すので、けっこうな大仕事になっています。 しかも東京周辺の知り合いが多く、3〜4年たつと半分ぐらいの人が引っ越してし…

今更ながら、Rのアンインストール・インストール・初期設定の復習(Macの場合)

備忘のためのメモが必要 Rのバージョンアップをしようとしたんですが、Macの場合はアップデート用のコマンドが使えないらしいので、アンインストールして新バージョンを再インストールをすることにしました。 Rのインストール方法なんて解説サイトが山ほどあ…