はだだだだ

定食にサラダは不要だと思う。

MENU

時系列予測モデルの評価指標について

以下の資料を参考に、時系列予測モデルの代表的な評価指標について、特徴や、メリットデメリットをまとめてみます。本記事の内容は、参考資料に記載されている内容から私がざっくり解釈したもののため、正確性には欠けていると思います。 https://otexts.com…

平均値がMSE(or RMSE)を最小化する理由

厳密な証明かはわかりませんが、以下に自分なりの理解をまとめます。MSEの最小化問題はRMSEの最小化問題と解が同じ(?)だと思いますので、MSEの方で検討します。 (記法) : のベクトル : のベクトル : のベクトル ここで(5)の第3項に注目して となるので、 と…

中央値がMAEを最小化する理由

厳密な証明はよくわからなかったので、自分なりのざっくりした理解を記載します。 (1)(2)予測誤差を式変形していきます。 (3)が連続での値をとる場合、絶対値の期待値は積分で表せます。このとき、を確率変数と考え、は定数とみなすことにします。はの確率密…

ホームページをレンタルサーバーからGitHub Pagesに移してみた

これまでXFREEのレンタルサーバーにホームページを作り、そこにRの勉強で作った資料などをあげていました。無料で広告も入らないため不満はなかったのですが、3ヶ月に1度更新処理(ログインして更新ボタンを押す)が必要なことと、更新するたびにローカルでh…

RでARモデルの勉強

時系列分析の勉強をはじめることにしました。まずはARモデルです。以下の記事を見ながらARモデルの構築と、モデル検証の勉強をしました。Rと時系列(2) データ Google Trendsのヒット数を使用します。検索ワードは”温泉”にしました。 期間は2016年1月1日~201…

shinyで簡単なwebアプリを作ってshinyapp.ioに公開してみた

shinyの練習をしました。以下の記事で作成したコードを流用して、google trendsのdailyの結果をcsv形式で取得するウェブアプリを作ります。hadadada00.hatenablog.com具体的には以下のことができるようにしました。 検索ワードを指定 期間を指定 実行ボタン…

google trendsで長期間のdailyデータを取得する方法

google trendsのデータを使って時系列分析の勉強をしようと思いました。gtrendsRというRパッケージを使用すればRからAPI経由でデータを取得できるようです。gtrendsRの関連記事 https://mrunadon.github.io/gtrendsR/しかし、google trendsの仕様ではdailyで…

dplyrとpurrrの読み方

日本人同士の会話だと dplyr : ディープライヤー purrr : プルル と呼ぶことが多いと思います。 日本人以外と話すときには何と読めばよいか気になったため調べました。 youtubeで動画を探すと以下のように発音していました。 dplyr : ディープライヤー https…

Rでロジスティック回帰(2値分類)をやってみた

Rでロジスティック回帰(2値分類)の練習をやってみました。 概要 NBAのデータを使用する 各年の成績データを使用して、その年にオールスターに選ばれたかを予測する(2値分類) データ 以下で作成したデータを使用します。 allstars hadadada00.hatenablog…

Rでスクレイピングをしてみた part2

Rでロジスティック回帰の練習をしようと思ったのですが、自分がもっているデータの中に2値分類の問題がつくれそうなデータがなかったため、新たにデータを取得することにしました。 今回はwikipediaからNBAのオールスター出場選手のデータを取得します。Li…

Rで因子分析をやってみた

Rによるデータ分析の練習として因子分析をやってみました。手順は以下の記事を参考にしました。 Rで因子分析やってみた - Qiita 概要 NBAの各選手の成績データを使用する PT(ポイント数)やBLK(ブロック数)などの成績データから選手のパフォーマンスを説…

Rでスクレイピングしたデータをpackageにして公開してみた

以下の記事でウェブスクレイピングの練習をしました。 hadadada00.hatenablog.comせっかくなので以下の記事で作成したpackageに追加して今後分析で簡単に使えるようにしてみました。 hadadada00.hatenablog.com前回作成したpackageのローカル環境は以下のよ…

Rでスクレイピングをやってみた

以下の記事で分析を行う際に、ウェブページからNBA選手の年俸データを取得しました。 年毎にページが分かれているため、Rでウェブスクレイピングをして、データ取得を自動化しようと思います。hadadada00.hatenablog.comウェブスクレイピングのやり方につい…

Rで主成分分析をやってみた

統計の勉強で主成分分析をやってみました。 分析概要 NBA選手のstats(各成績のデータ)を使用して、選手の総合力を測る指標を作成する データは2016-2017年シーズンのものを使用 結果の大まかな検証として年収のデータと比較する データ 選手の成績データは…

【読書メモ】ファクトフルネス

久しぶりに勉強以外の本を読みました。 一時期ちょっとしたブームになったハンスロスリング氏のファクトフルネスです。 FACTFULNESS(ファクトフルネス) 10の思い込みを乗り越え、データを基に世界を正しく見る習慣 作者: ハンス・ロスリング,オーラ・ロスリ…

Prestoでweek関数とyear関数を組み合わせてグルーピングを行う時の注意点

週次で集計を行いたいときに、以下のようにweek関数とyear関数でグルーピングをしようとしました。 with temp as ( select week(from_unixtime(unixtime)) as week , year(from_unixtime(unixtime)) as year , id from table ) select week , year , count(i…

prestoでグローバル変数がつくれないようなので代替案を考えた

条件が複雑なクエリを見やすくするために、Prestoでグローバル変数をアドホックに定義できないか調べてみたのですが、Prestoはできないようです。Does Presto have the equivalent of Hive's SET command - Stack Overflow代替案として以下のやり方をとりあ…

Rでjoinしたときの結果の確認方法

Rでjoin処理をしたときに、うまくjoinできているか確認したくなります。私なりに考えたやり方をメモとして残しておきます。まずはデータを準備します。 今回はmapsパッケージにはいっているアメリカの州のポリゴンデータと、私が自作したNBAの選手の出身州…

R markdownでプレゼンテーションを作ってみた(ioslides)

R markdownを使うことで、プレゼンテーション資料を作ることができます。形式は以下の3種類あります。 ioslides形式:出力ファイルは.html slidy形式:出力ファイルは.html beamer形式:出力ファイルは.pdf 参考: R Markdownによるスライド生成今回はioslid…

RStudioのpresentation機能を使ってみた

Rでデータ分析の結果をプレゼンテーション形式でまとめる方法としてはR markdownを使用する方法(更にioslides, slidy, beamerの3形式に分かれます)と、presentationを使用する方法があります。今回はpresentationを使ってみようと思います。 R presentati…

Rで色つきの相関係数行列を作る方法

多変量のデータを分析する際に、相関係数行列を作成して変数間の関係を見たいときがあります。相関係数行列自体はstats::corで作成できすが、このままでは資料に使いづらいです。 x <- rnorm(100, 0, 1) y <- rnorm(100, 0, 1) z <- rnorm(100, 0, 1) w <- r…

RのI関数について(AsIs関数)

RのI関数について調べましたので、備忘メモです。 読みはAsIs関数 主な使い方は以下3つ data.frameでベクトルをデータフレームにするときに、文字列をfactor型に変換させない。 formulaを書くときに、算術演算子をformulaの記法と認識させない。 qplotでaest…

gganimateを使ってみた

以下の記事を参考にgganimateを使ってみました。[R]アニメーションで動くグラフを作る方法メモ - Qiita やったこと 国別の1人当たりGDPを棒グラフにする。 gganimateを使って年ごとに棒グラフを表示する。 データ World BankのHPから取得しました。2017年ま…

RでK-fold Cross Validationを実装してみた

以下の記事を参考にK-fold クロスバリデーションを実装してみました。解く問題はkNN法のハイパーパラメータのkを決定する問題です。Cross-Validation for Predictive Analytics Using R - MilanoR 作業概要 irisデータセット(n = 150)を使用。 irisデータ…

ggplotでgeom_lineをたくさん書く方法

シミュレーション結果をグラフに描くときに、geom_lineをたくさん書きたくなりました。工夫が必要なため、メモを残しておきます。まず、以下のようなデータを想定します。 df <- tribble( ~x, ~y1, ~y2, ~y3, ~y4, ~y5, 1, 1, 2, 3, 4, 5, 2, 1, 2, 3, 4, 5,…

Rによるknn法の実装方法を調べてみた

caret::knn3を使ってkNN法の勉強をしていたときに、どのように実装しているのか気になりました。methodsやgetAnywhereで探してもメインのソースコードが見あたらないため、とりあえずネットで他の実装例を探しておおまかな理解で済まそうと思います。「R knn…

R for Data Science 感想

Rを用いたデータ分析の勉強のために、R for Data Scienceを一通りやりました。著者は「Rの神」こと、Hardley Wickham氏で信頼感は抜群です。 日本語訳の書籍もありますが、英語版が無料で見られるため、英語版でやりました。 https://r4ds.had.co.nz/ 感想は…

Rでデータサイエンス・機械学習を勉強する際の参考書籍・サイト

自分用の備忘メモです。有料/無料、オンライン/紙の区別はしていません。 データサイエンス全般 ・R for Data Science R for Data Science※別の人が書いた練習問題の回答集 R for Data Science: Exercise Solutions R for Data Science Solutions・Data Scie…

Rの参考書籍・参考サイト

自分用の備忘メモです。適宜追加します。無料のオンライン版があるものはそちらのリンクを貼っています。 Rの文法 ・An Introduction to R https://cran.r-project.org/doc/manuals/r-release/R-intro.pdf・Advance R http://adv-r.had.co.nz/・ggplot2ggplo…

Rで関数の引数に条件式を使用する方法

回帰モデルを作成するときに、複数のformulaを用意して外部からlm()の引数に入れる方法を探していました。以下の記事にやり方が載っていました。みかん箱テストしてみました。 # sample data x <- c(rnorm(100)) y <- c(rnorm(100)) df <- data.frame(x, y) …