カテゴリー別アーカイブ: R

RでLDA

自分用メモ

こちらのRでLDAのサンプルがありますが、うまく動かなかったので修正メモ

環境

  • MacOS10.11
  • RStudio 0.99.484
  • R version 3.3.0

エラー

こちらのスクリプトを順番に実行していくと

この部分で以下のエラーが出ます

以下のように修正します

次はこのエラーです

ここを参考に修正します

修正スクリプト

まとめ

Rのパッケージは時々仕様が変わってしまいますので自分でコードを修正する必要があります。

RでSHA

RでSHA1を作成する。serialize=Fを入れるのがポイント

rubyの出力との比較

AWS EMR でSparkRを使って見る

AWSEMRとは、SparkやらHiveやらそれら一式を簡単に使える様にしてくれている仕組みです。

ぽちぽちっとEMRでサーバを作成。

この間10分程度

SparkRでサンプルデータを解析してみます

こちらの内容をアレンジしてみました

http://engineer.recruit-lifestyle.co.jp/techblog/2015-08-19-sparkr/

データ取得

http://stat-computing.org/dataexpo/2009/the-data.html

こちらから2001、2、3のデータをダウンロード

unzip

s3にアップロード

同様に2002,2003も繰り返す

Hive

SparkR

こんな感じで簡単にできました

RでDeeplearning

最近、Deeplearning、いいキーワードになっていますね。

これで解析さえすればバンバン売れる!なんて事は無いと思いますが、

Rで使い方を調べてみました。

h2oパッケージというものをRから使うことになります。

環境

  • R version 3.2.2
  • MacOS 10.11.1
  • jdk 1.8.0_40

h2oインストール

こちらを参考にインストール

http://d.hatena.ne.jp/dichika/20140503/p1

ubuntuなどで このようなエラーが出た時には以下のように足りないものをインストールします

Deeplearning

こちらのコードにh2oのDeeplearningを追加します

http://yut.hatenablog.com/entry/20120827/1346024147

結果

SVM

(1338+784)/(1338+117+62+784)=0.9222077

nnet

(1313+815)/(1313+86+87+815)=0.9248153

naivebayes

(752+850)/(752+51+648+850)=0.696219

h2o

(1321+823)/(1321+83+74+823)=0.9317688

Deeplearningが一番正解率高いですね

Rでチャートを書いてみる(9)

Rで作成したチャートをファイル保存する際にちょっとハマってしまったのでメモ

チャートを作成する際に、銘柄コードでグルグル回して作成したい場合があります。その際に、ロウソク足だけ、とかなら大丈夫なのですが、その上に重ね合わせたりする場合にファイル作成時にはうまくいかないことがあります。

ロウソク足

これはOKです

ロウソク足+α

これだとpointsが描かれない

こうすればうまくファイルに出力されます

この辺りを参考にしました

http://stackoverflow.com/questions/18556548/is-it-possible-to-build-a-quantmod-chart-incrementally-and-export-the-final-resu

http://stackoverflow.com/questions/18342703/r-appears-to-fail-to-execute-a-line-in-a-function/18342756#18342756

Rでチャートを書いてみる(9)

どうやらまたYahooの時系列データの仕様が変わったようです。

http://d.hatena.ne.jp/anagotan/20140816/1408276789

こちらで書いたものが使えなくなっていました。具体的には先頭(直近)のページのみのデータしか拾えていません。

そこでちょっとまたまた、いじってみました。

RFinanceYJを作った方の真意わかりませんがquoteTsData関数の

この部分で次ページがあるかどうか判定していたのがうまく作用しなくなっています。

そこで下記のように修正してみました。

以前と同じようにRのコンソールにコピーアンドペーストで実行

無事取れるようになりました

「構文解析中に不正なマルチバイト文字列がありました」のエラー

ちょっとはまってしまったのでメモ

Rの関数にsource関数というものがあります。予め共通処理を書いておいたファイルを読み込む機能です。サブルーチンみたいなものでしょうか?

そこでsourceする際に、エラーが出る場合があります

どうやら、エンコーディングの問題みたいです

使っているファイルのエンコーディングに合わせて明示的に示してやる必要があります

Rでチャートを書いてみる(8)

前回までのスクリプトをぐるぐる回すようにしてみました。

一銘柄ずつとると時間がかかるので並列で動くようにしています

  • RFinanceYJPatch.R
  • getall.sh

現在4000銘柄弱ですのでこれでOKだと思います。ただこれでもまだまだ時間がかかりますが全部取得できるかと思います

Rでチャートを書いてみる(7)

前回でマスターまで取得ができたので、このマスターを用い、全銘柄分のデータを取得することにします。

取得したデータはリレーショナルデータベースへ格納するのが一般的かと思いますので、ここは簡単に扱えるSQLiteに入れることにします。

SQLiteをインストール

MacOSXの場合には以下のコマンドで一発です

つぎにRSQLiteパッケージをインストールします

準備が整ったらスクリプトを用意しこれを実行します

(前回までのRFinaiceYJの拡張関数を実行しておくこと)

かなり時間がかかると思いますが無事SQLiteにはいっていることが確認できます

  • 2014-8-24

もう少し使い勝手よくしてみました

Rでチャートを書いてみる(6)

株価を利用する際には株価コードの一覧が必要となってきます。そこで調子に乗って株価コードの一覧を取得してみました

例によってRFinanceYJに追加する関数です

YahooFinanceの銘柄名の頭文字から一覧を得るページがあるのでこちらからダウンロードするようにしました。

結果ですが、ページ数が多いので若干時間がかかります。

全銘柄とれるようになりました!

  • 2014.8.17

銘柄コード純になるように修正してみました