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

初学者が統計学、機械学習、R、Pythonの勉強の過程をメモっていくノート。

対数尤度が正で、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のインストール方法なんて解説サイトが山ほどあ…

ブロックチェーンって「付加価値」が期待されてるわけでもなくね?

久しぶりにブロックチェーンに関する記事を読んだんですが・・・ qiita.com 「ブロックチェーンが経済のあり方を変える!」的な一部世間の風潮にクギを刺すような論調の記事ですが、金融機関や役所でブロックチェーンの活用に取り組んでいる人たちの話とは少…

Pythonメモ: Pandasで文字列検索をループするとかなり遅かった

前回のエントリで、Pandasのデータフレームを文字列で検索すると遅かったと書いたんですが、実際に検索の方法を変えるとどれぐらい違うのかを計測してみました。 結論から言えば、辞書型に変換してから検索したらだいぶ速くなったのですが、それが凄いという…

【Python】MeCabと極性辞書を使ったツイートの感情分析入門

負のオーラを自動検出したい 前回のエントリで、著作権侵害にあたる違法アップロード動画を自分のTwitterで拡散してしまっている懸念を考えて、YouTube動画のリンクが貼ってあるツイートをまとめて削除しました。 前回のエントリでも言いましたが、著作権侵…

エンジニア泣かせの「日本の住所」は誰が決めているのか

住所のデータを機械で扱おうと思った時、日本の住所は「1の1」と「1丁目1番」と「1-1」のように表記が統一されていないことや、アメリカ等のようにカンマでの分かち書きがされていないなどの理由によって、処理が難しいというのはよく知られた話です(分かち…

Python作業メモ: 残しておくとマズそうな自分のツイートをまとめて削除する(YouTubeリンク編)

著作権侵害にあたるYouTube動画へのリンクを削除する たまにツイッターで、YouTubeのリンクを貼り付けたツイートをしていますが、よく考えたら違法アップロードに該当するものを拡散してしまっている可能性があります。可能性とかいう曖昧なレベルで考えるの…