ほくそ笑む

R言語と統計解析について

ロジスティック回帰に最尤推定量が存在するか判定する

引き続きロジスティック回帰について調べている。 前回、ロジスティック回帰の最尤推定量にはバイアスがあることを調べた。 ロジスティック回帰の最尤推定量にはバイアスがある - ほくそ笑む このバイアスは、サンプルサイズが大きい場合は無視できるが、入…

ロジスティック回帰の最尤推定量にはバイアスがある

ロジスティック回帰について調べている。 ロジスティック回帰モデルのパラメータの最尤推定量は、不偏推定量ではなく、バイアスがある。 例として、サンプルサイズ 、入力変数の数 のときを考える。 パラメータ 300個の真の値を、最初の 100個は 、次の 100…

ロジスティック回帰モデルの負の対数尤度

ロジスティック回帰モデルの負の対数尤度は次のように書ける。 \begin{align} NLL(\beta) = \sum_{i=1}^n F(x_i \beta) - y_i (x_i \beta) \end{align} ただし、 はロジスティック関数の積分 \begin{align} F(t) = \int \frac{1}{1 + e^{-t}} dt = \log(1 + …

状態を持つループ処理を accumulate() でシンプルに書く

R言語のコミュニティ https://r-wakalang.slack.com で回答したのでメモ。 質問はこんな感じ(意訳しています)。 次のようなデータを以下のルールで処理したい。 データを上から下に見ていき、 (1) before に TRUE が出たら、それ以降は after を TRUE にす…

LighitGBM で変数重要度を出すと列名が文字化けするときの解決策

LighitGBM で変数重要度を出すと列名が文字化けするという相談を受けたときの調査メモ。 解決策は3つある。 現象を再現 まずは文字化け現象を再現してみる。データとしてはこんな感じ。 Sys.setlocale(locale = "Japanese_Japan.932") df_all <- iris colnam…

Clustered ICE でサンプルごとのクラスタ割付を取得する

最近、『機械学習を解釈する技術』という本を読んでいます。 機械学習を解釈する技術〜予測力と説明力を両立する実践テクニック作者:森下 光之助技術評論社Amazon 非常に分かりやすくて良い本なのでおすすめです。 この本には出てこないのですが、著者のブロ…

R言語こぼれ話(2) tryCatch はなんでもつかめる

R言語を使う上で知っていても知らなくても特に問題にならないようなこぼれ話をしていくシリーズ、第2回は tryCatch() の話です。 tryCatch() は主にエラー処理に使われる関数です。 例えば、ファイルを読み込もうとしたときに、そのファイルが存在しない場合…

ggforce パッケージの geom_mark_* 関数が便利な件について

今年の5月に『Rによるインタラクティブなデータビジュアライゼーション』という本を出しました。 Rによるインタラクティブなデータビジュアライゼーション: 探索的データ解析のためのplotlyとshiny作者:Carson Sievert共立出版Amazon この本は、主に plotly …

R言語こぼれ話(1) パッケージとライブラリの違い

R言語を使っていると、「パッケージ」や「ライブラリ」という言葉をよく目にすると思います。 多くの人は、パッケージとライブラリを同じものだと思っているのではないでしょうか。 Rを普通に使う上では、これらを同じものだと思っていてもほとんど支障はあ…

rstan の plot のパラメータ名(縦軸のラベル)を変更する

rstan を使っていると、プロットのパラメータ名を変更したくなるときがあります。 例えば、パラメータをベクトルで定義しているが、個々のパラメータに意味がある場合などです。 具体例を見てみましょう。 以下の例は、正規分布のパラメータを配列 theta で…

ggplot2 で axes を消す方法

最近、次の本を読んで日本地図を描くのにハマっている。 実践Data Scienceシリーズ Rではじめる地理空間データの統計解析入門 (KS情報科学専門書)作者:村上 大輔講談社Amazon ggplot2 でシンプルに日本地図を描くとこんな感じになる。 library(tidyverse) li…

カロリンスカ眠気尺度とは

カロリンスカ眠気尺度 (Karolinska Sleepiness Scale) は、被験者が今どれくらい眠いのかを評価するための眠気の自己評価尺度である。 カロリンスカ眠気尺度は、被験者の眠気を 1 ~ 9 の数値で表す。 被験者はこの数値のうち、自分の状態に最も近いものを選…

R でテンソルのインデックス行列のイテレータを書いた

R でテンソルのインデックス行列のイテレータを書く必要があったので書きました。 例えば、2 x 3 の行列のインデックス行列は expand.grid() 関数を使えば次のように簡単に得られます。 > expand.grid(1:2, 1:3) Var1 Var2 1 1 1 2 2 1 3 1 2 4 2 2 5 1 3 6 …

R で 1文字置換を行うときは chartr を使う

次のようなデータがあるとする。 N <- 100 x <- c("Apple", "Banana", "Candy") x <- rep(x, N) head(x) [1] "Apple" "Banana" "Candy" "Apple" "Banana" "Candy" このデータの中の全角文字を半角にしたい。 1. gsub を使う base 関数にある gsub()…

Shiny で DT + sparkline を使う

はじめに この記事は R Advent Calendar 2019 10日目の記事です。 DT で作ったテーブルに sparkline を埋め込んだものを Shiny で使いたい。 最終的な成果物として次のようなものを作りたい。 1. sparkline sparkline は文章中や表の中に埋め込むことのでき…

人生で役立つ Grimshaw’s Trick

概要 人生を生きていると一般化パレート分布のパラメータを最尤推定したいときがあります。しかしこの推定は2変数の非線形最適化問題を解く必要があり数値計算的に不安定なため人生も不安になります。そんなときにGrimshaw’s Trickを使えばこの問題を一元方…

非心ベータ分布を Stan で推定する (1)

1. はじめに ベータ分布は範囲が固定されている連続データの分布を柔軟に表現できるため便利である。 非心ベータ分布 (Noncentral Beta Distribution) はベータ分布を一般化した確率分布であり柔軟性はさらに上がる。 Noncentral beta distribution - Wikipe…

施策効果測定におけるメタアナリシスの応用

はじめに マーケティング施策を行うときに、その施策効果を測定するために、コントロールグループ(施策を適用しないユーザ)を作る場合がある。 例えば、販促メールを送るという施策を行うときに、一部のユーザには送らないようにする。 仮にメールを送らな…

Stochastic Online Anomaly Analysis for Streaming Time Series 読んだ

Stochastic Online Anomaly Analysis for Streaming Time Series (IJCAI 2017) https://doi.org/10.24963/ijcai.2017/445 Student-t process を使ったストリーミング時系列に対する新しい異常検知手法を提案する。 時系列関数が Student-t process に従うと…

Sparse Gaussian Markov Random Field Mixtures for Anomaly Detection 読んだ

Sparse Gaussian Markov Random Field Mixtures for Anomaly Detection (ICDM 2016) http://ide-research.net/papers/2016_ICDM_Ide.pdf 複数の動作モードに対応可能かつ変数ごとの異常スコアを算出できる新しい異常検知手法を提案する。 通常、異常検知を行…

Putting MRFs on a Tensor Train 読んだ

Putting MRFs on a Tensor Train (ICML 2014) http://proceedings.mlr.press/v32/novikov14.pdf マルコフ確率場(MRF)のパラメータ推定に使われる最尤訓練法では、分配関数の良い近似が必要とされる。 離散変数の正規化されていない同時分布をテンソル(多次元…

2017年のベイズ統計入門書まとめ

2017年もベイズ関連の本がたくさん出版されたのでまとめてみます。 下記の記事の続きのようなものですが、私はほとんど読めていません。。 ベイズ統計の入門書が出版ラッシュなのでまとめてみた - ほくそ笑む 冬休みのお供にどうぞ。ビジネスマンがはじめて…

Facebookの予測ツールProphetについて発表しました

Facebook が出した誰でも簡単に時系列予測ができるツール Prophet についていくつか発表しました。 Prophet入門【Python編】 Prophet入門【R編】 Prophet入門【理論編】 Prophetはビジネス時系列、すなわち人間の行動に左右される時系列データに対する自動予…

AJAXサイトを Webスクレイピングする(銀行金利をスクレイピング)

共同で翻訳した本が出版されます。 『Rによる自動データ収集 ―Webスクレイピングとテキストマイニングの実践ガイド』 Rによる自動データ収集: Webスクレイピングとテキストマイニングの実践ガイド作者: Simon Munzert,Christian Rubba,Peter Meissner,Domini…

分析したいけどデータがない!そんなときはウェブスクレイピング!

献本いただいたので紹介記事を書きます。Rによるスクレイピング入門作者: 石田基広,市川太祐,瓜生真也,湯谷啓明出版社/メーカー: シーアンドアール研究所発売日: 2017/03/27メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る本書はウェブ…

確率論の基礎について発表しました

Watanabe理論勉強会で発表してきました。 前回の発表はこちら Watanabe理論勉強会で発表してきました - ほくそ笑む 前回は2章だったのですが、2ヶ月半で5章まで進みました。ページ数的には折り返し地点です。今回の担当は5章前半だったのですが、私の脳みそ…

A/Bテストと統計的検定の注意点(その1)

素晴らしい記事が上がっていたので言及したい。 仮説検証とサンプルサイズの基礎 - クックパッド開発者ブログ この記事では、A/Bテストにおいて、意味のある差が出たかどうかを統計的検定を用いて判断する方法を説明しています。Web上にある多くのA/Bテスト…

Watanabe理論勉強会で発表してきました

このブログの読者には AIC (赤池情報量基準) をご存じの方は多いと思います. AIC は統計モデルの評価指標として世界中で広く使われていますが、これは赤池弘次という日本人統計学者により考案されたものです。これに対し、近年、ベイズ統計学で利用可能な WA…

「異常検知と変化検知」輪読会で論文紹介しました

去る 7/21(木) に行われた「異常検知と変化検知」輪読会で論文紹介をさせていただきました。タイトルは「非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出」で、資料は SlideShare に上げています。 非制約最小二乗密度比推定法 uLSIF を用いた外れ値検…

階層モデルの分散パラメータの事前分布について発表しました

ひと月ほど前になりますが、基礎からのベイズ統計学入門 輪読会で発表させて頂きました。タイトルは「階層モデルの分散パラメータの事前分布について」で、Andrew Gelman の論文 Prior distributions for variance parameters in hierarchical models (PDFリ…