仕事でcoxphで作成したモデルをVBA + .NETで実装していて、値を合わせるためにpredict内で係数を乗じる直前の値を覗くべくやってみました。といっても、Rの場合はブラウザを使えば問題はないと思います。

まず、事前準備として

> debug(predict)
で、predictに対してブレイクポイントを仕掛けます。これで、predict実行時にブラウザで挙動を覗くことができます。

現在の、predict.coxphでは係数を乗じる前の値は最終的にnewxに格納されるのでnewxの変化を追いかけます。基本的にはnewxにはモデルのmeansを引いたものが格納されるのでダミー変数があればダミー変数の動きを見るのがいいと思います。ダミー変数ならば0/1の値のはずですがmeansが引かれたタイミングで0/1以外の値をとることになります。このタイミングがnewxの準備ができたタイミングです。

あとは、newxをsaveするなりすれば係数を乗じる前の値が入手できます。

そろそろ、Windows 8も近いのでHTML5で時計を作ってみた。背景の変更とかのカスタマイズ要素を入れれば時計として使えるかと思う。ある程度、物になったらModern Style アプリケーションとしてみるつもり。

MongoDB #01

| コメント(0) | トラックバック(0)

更新履歴

版数

更新内容

0.0.1

初版

 

諸言

ソーシャルメディアの分析などを行う目的でMongoDBを実験的に使ってみている。MongoDBを調査した理由はいくつかあるが次の理由で選定した。

  1. JSONで記載されたドキュメントを直接投入できる
  2. 内蔵されたMap-Reduceで集約などの処理を分散して行える
  3. Windows版を含め各種の計算機環境で動作する
  4. 十分な量のドキュメントがある
  5. R、.NETなど利用したいと思う環境のクライアントコードが実装されている

本ドキュメントでは、インストールから利用にあたってのあれこれをざっくばらんに記載した。記載内容には十分な注意を払っているつもりではあるが、特にレビューなどを行っているわけではないのでご指摘は歓迎する。

Windows環境へのインストール

今回はWindowsのクライアント環境を行った。

手順としては大きく分けて次の手順となる。

  1. アーカイブの展開
    1. MongoDBのアーカイブ内にはbinフォルダの下にMongoDBの本体がある。アーカイブを適切なアーカイバを用いて適切なフォルダに展開する。
  2. 設定ファイルの作成
    1. 設定ファイルの作成にあたっていくつかのフォルダのパスを決定する
    2. この段階では認証は無効とする
  3. データベースの仮起動
  4. 設定ファイルの更新
  5. サービスの登録
  6. サービスの起動
  7. サービスのテスト

Reactive Extensions

| コメント(0) | トラックバック(0)

一般に、書きにくいパターンの一つが非同期的な動作です。今日、一般的なC言語の流れを汲む言語の場合には多くの場合、コールバック関数若しくはその類型のようなパターンを取るためプログラムが複雑化しデバッグも困難になりがちです。Reactive Extensionsはそういった非同期的な動作を平易に書くことのできるライブラリです。公式サイト上ではReactive Extensionsはなんであるかという、回答として以下の記載があります。
a library to compose asynchronous and event-based programs using observable collections and LINQ-style query operators.

公式サイトの文言がすべてと言えますが、非同期系とイベントベースのプログラムを書くためのライブラリということができます。国内だとneueccさんの記事が多分、入門としてはベターなんですがさくっと示すと、基本的に非同期系のコードは一般にコールバックの形態を取ります。まあ、C#なんかだと匿名関数が使えるのでコールバックは匿名関数として書くとしても、結果的にカッコのネスト構造はどんどん深くなります。しかも、通信系なんかだと例外処理は必須ですからその辺を考慮するとすごいことになります。この辺はneueccさんの説明がいいかと思います。これは、既にWindows 8時代を見据えたアプリケーションの構築で触れたので繰り返しません

とはいえ、サンプルでもないと判りづらいんですよね。知られているサンプルとしては101 Rx Samplesがあります。WinRTではある程度の待ち時間を発生させる機能は基本的には非同期呼び出しということになるようなのでRxは知っておいて損はしないですね。

カテゴリ

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.2.10