タグ

ブックマーク / muddydixon.hatenablog.com (11)

  • 「エンジニアのためのデータ可視化[実践]入門 ~D3.jsによるWebの可視化」を執筆しました - PolyPeaceLight

    僕のような人間が書いていいのか、とは執筆前・執筆中・そして執筆が終わった今もずっと思っていますが、兎にも角にも書き終わりました。 エンジニアのための データ可視化[実践]入門 ~D3.jsによるWebの可視化 (Software Design plus) 作者: 森藤大地,あんちべ出版社/メーカー: 技術評論社発売日: 2014/02/20メディア: 単行(ソフトカバー)この商品を含むブログを見る 2月20日に書店に並ぶそうです。 内容について うまく伝えられているかはわからないですが下記のようなことを意識して書きました データ可視化は情報との対話であり、「データに存在する事実を掬い上げやすく加工する」「データに存在する事実を効率的に伝える」作業そのものである データ可視化はデータ処理(収集・保持・分析・解析)と企画者(施策・経営)のコミュニケーションを円滑にするものである 上記を実現す

    「エンジニアのためのデータ可視化[実践]入門 ~D3.jsによるWebの可視化」を執筆しました - PolyPeaceLight
  • doccoとgrunt-doccoのごにょごにょについて - PolyPeaceLight

    doccoという結構使いやすい*1ドキュメント生成ツールがあります。 これのgruntのpluginがあるのですが、これにまつわるもやもやについて docco doccoはコードの中にmarkdownを書いてインラインコメントアウトするとよしなにdocumentを生成してくれます。 0.6.2からpygmentsの依存がなくなったので使いやすくなりました。 ですが、0.6.0でメインであるdocco.document()の引数に大幅な変更が入り、追従できていない(今回の場合は、grunt-docco)のもあるみたいです。 具体的には、 0.6.0まで document = function(sources, options, callback) { 0.6.0から document = function(options){ 使い方はほんとうに簡単で # ## クラス名 # クラス説明 #

    doccoとgrunt-doccoのごにょごにょについて - PolyPeaceLight
  • ARIMAについての感覚的な理解(1/2) - PolyPeaceLight

    最近ずっと時系列解析について調べています。 その基礎の中に「ARIMA」というモデルがあります。 ARIMAは「Autoregressive Integrated Moving Average」、日語で言うと「自己回帰和分移動平均」というモデルです。 はあ?なにそれ? ARIMAモデルは次の3つのモデルを合わせたモデルであるために、よくわからない名前になっています。 Autoregressive model 自己回帰モデル Moving Average model 移動平均モデル Integrated model 和分モデル それぞれはAR、MA、I、という略称で呼ばれ、また、それぞれは1つのパラメタを取ります。 ARはp、MAはq、Iはd これらを合わせたARIMAモデルは、3つのパラメタを取ることになり、ARIMA(p, d, q)と記述されます。 私は、ARIMAの理解に手こずった

  • データ可視化 HandsOn #2を開催しました - PolyPeaceLight

    まだまだ、ふっくらした開催概要ですし、進め方も全然決まってなく参加者の皆様を戸惑わせながらですが、データ可視化 HandsOn #2を開催しました テーマ 僕自身がいま関心があるものですが「コストパフォーマンス」を可視化する、というテーマで取り組んで頂きました。 検索:コストパフォーマンスを見てもらえればわかるのですが「これは!」というものがありません。 もちろん、状況によってコストパフォーマンスをどのように読み取るか、価値を見出すか変化しますが、パッと見てわかるものがないので、今回テーマとして置いて考えてみました。 進め方 最初に自己紹介やテーマを説明した後、4人ずつ2つのグループにわかれ作業を行いました。 最初に少し「コストパフォーマンス」の定義などについて議論(10分程度) 19:00 - 19:30 各自でそれらの表現方法を模索(発散) 19:30 - 19:45 皆で持ち寄り発表

    データ可視化 HandsOn #2を開催しました - PolyPeaceLight
  • interpolate.js作りました - PolyPeaceLight

    npmで名前が被ったので「series.interpolate.js」にしました 背景・課題 時系列分析をずっと調べているのですが、時系列データで途中データが飛ぶケースがあります。 例えば、ガチャのデータ、Webサイトのアクセスログ、404の回数のログ、いくらでもあります。 なんですが、例えば、ARIMAとかExponential Smoothingなどにしても、基的には時間的なステップが揃っていることが前提です。 具体的には time:2013/01/29 11:00:00 count:332 time:2013/01/29 12:00:00 count:124 time:2013/01/29 13:00:00 count:62 time:2013/01/29 15:00:00 count:36 // <= ここで14時が飛んでる!!! time:2013/01/29 16:00:00

    yuiseki
    yuiseki 2013/03/15
  • 生存時間解析 第4章 - PolyPeaceLight

    前章までの基式 時刻におけるイベント発生の確率密度関数: 時刻までにイベントを体験する累積分布関数: 生存関数: (2.2.2) すなわち 時刻までイベントを体験せず、時刻で体験するハザード比/ハザード関数: (2.3.1) ただし if が連続確率変数: (2.3.2) 両辺積分し累積ハザード関数: (2.3.3) 例えば、ワイブル分布の場合はとなり、の大きさによりは挙動を変化させる 定義 イベント発生:D個の異なる時間 イベントごとのイベント回数(例: 死亡):時刻で回 時刻においてイベント発生のリスクを負っている対象者(=時刻までにイベントが発生していない対象者): 時刻において1人の対象者がイベントを体験する条件付き確率: 目次 実際のデータから、生存関数や累積ハザード関数などの推定量の作成 (4.2) 固定した時間におけるおよびの信頼区間の求め方 (4.3, 4.4) 右側打ち

    生存時間解析 第4章 - PolyPeaceLight
    yuiseki
    yuiseki 2013/03/15
  • fluent-plugin-forestで新規ログのチェック - PolyPeaceLight

    fluent-plugin-forestはタグを動的に扱うことができて、非常に便利なプラグインです。 マジで @tagomoris ++ です。 <match service.*> type forest subtype file remove_prefix service <template> time_slice_format %Y%m%d%H compress yes path /var/log/${tag}.*.log </template> </match> と書いておくと、service.hogeもservice.fugaも一つの設定で /var/log/hoge.2012112019.XXXXX.log /var/log/fuga.2012112019.XXXXX.log を吐き出してくれます。 便利なんですが次のようなニーズ 新しいタグ(ログ)が追加されたことを知りたい 新

    fluent-plugin-forestで新規ログのチェック - PolyPeaceLight
  • fluent-plugin-filter 作りました - PolyPeaceLight

    rubygems fluent-plugin-filter | RubyGems.org | your community gem host github muddydixon/fluent-plugin-filter · GitHub ボットからの閲覧が多いし、ビッグデータ時代()だからって、うちのディスクをあんまり圧迫したくないから、 削除したりしておきたいわ!でも、exec_filterとかはめんどいし、y-ken/fluent-plugin-rewrite-tag-filter · GitHubはちょっと違うんだよなぁ という上記のような人が対象です。 <match test.**> type filter all allow deny status: 404, status: 403, user-agent: /Googlebot/ </match> <match filtere

    fluent-plugin-filter 作りました - PolyPeaceLight
  • d3のd3.interpolateObjectで返される補間オブジェクトが共有化されてる - PolyPeaceLight

    issue:1030 d3.interpolateObjectは2つのオブジェクトを補間してくれるので欠損データの扱いとかが楽にできるんですが、バグ?というか、ハマるところ。 var ts = [ {time: new Date(2012, 0, 1), sum: 132435}, {time: new Date(2012, 0, 2), sum: 133450}, {time: new Date(2012, 0, 3), sum: 164345}, {time: new Date(2012, 0, 4), sum: 133100}, {time: new Date(2012, 0, 8), sum: 46345}, {time: new Date(2012, 0, 9), sum: 136345}, {time: new Date(2012, 0, 10), sum: 106345} ]

    d3のd3.interpolateObjectで返される補間オブジェクトが共有化されてる - PolyPeaceLight
    yuiseki
    yuiseki 2013/03/15
  • fluent-plugin-anomalydetect 作りました - PolyPeaceLight

    jubatusでも異常値検知がリリースされたばかりですが、簡単でメモリもわずに異常値検知できるといろいろ捗るかなぁと思い、異常値検知のpluginを作りました。 rubygems github 一日動かしてみましたが、手元の環境では特にリークもなく、fluentd体、このplugin、node.js expressを立ち上げ、abで適当に負荷をかけ続けましたが、全体で60MBくらいでした。 <match access.**> type anomalydetect tag anomaly.access tick 86400 </match> こんな感じで設定すると、tickで指定した時間(秒)にaccess.**に入ってくるデータ数を数えてそれの異常値をスコアリングします。 また <match access.**> type anomalydetect tag anomaly.acces

    fluent-plugin-anomalydetect 作りました - PolyPeaceLight
  • 7分半で作るNode.js+MongoDBアプリ - PolyPeaceLight

    先日のJJUG SpringのLTをしてきた「7分半で作るNode.js+MongoDBアプリ」の動画を撮り直しました。 番ではmongoose.Schemaのところをmongoose.modelとしてしまい、まさかのライブデバッグを初めるハメになり、結果として13分となってしまいました。 リベンジとして今日何回かトライしたところ10分を2分半も上回る7分半、スリークォーターの記録を出すことができました。 動画中でやってること 1 環境を証明 nvmとかnodeとかnpmとかがインストールされてないことを証明 env.shは確認するコードが書かれているだけです 2 nvmとmongodbをググる 3 nvmをgitで取得 $ git clone git://github.com/creationix/nvm.git ~/.nvm 4 nvmを環境に読み込む $ . ~/.nvm/nvm.

    7分半で作るNode.js+MongoDBアプリ - PolyPeaceLight
  • 1