タグ

ブックマーク / www.anlyznews.com (11)

  • 統計学的検定に対するある拒絶反応

    「この最後の信頼区間の使い方違和感ありません?」と言われて、「仮説検定はいらない(Request for Comments|ご意見求む)」と言うブログのエントリーを見てみたら、色々と統計学への誤解が積み重なっており、さらにデータが仮説を裏付けないと言う事実に拒絶反応を示していた。色々と問題があるのだが、気付いたところを幾つか列挙してみたい。 1. 仮説検定は基的に行うべき 問題エントリーで『「施策の効果をテストしたいな」「はい。仮説検定」って、それってのび太くんにとって有益なの?』と言っているが、仮説検定をしないのはむしろ有害に思える。やっても毒にも薬にもならない事もあるわけで、そういう状況を示せ無いようなデータ分析にどれほどの意味があると言えるのであろうか。創意工夫した施策の効果が有意性無し(=施策の効果があるとは言えない)と言われたら面白くは無いであろうが、必ずしも都合の良い結果が出

    統計学的検定に対するある拒絶反応
  • 経済学を知ったかぶりするための独学方法

    すらたろう氏が独習者のためのおすすめ経済学入門テキストを紹介しているのを見て、ask.fmを始めたところ、経済学研究科に行かないで経済学を学ぶ方法を質問されたのを思い出した。 用途が分からないのだが、SNSで聞かれたのでSNSで使うための知識なのであろう。主に文系学問を学んできた人が、インターネットの交流サイトで経済学を知ったかぶりするための独学方法を考えてみたい。 1. 基礎的な数学を学ぶ 経済学は言葉として数学を利用しているため、ある程度の数学の知識が必要だ。記号の意味ぐらい分からないと、読み飛ばしもできない。しかし経済学の教科書の数学の説明は極端に省略されているので、やさしめの数学書を読んだ方が理解が深まる。線形代数、集合、位相、解析のイロハを学ぼう。 一般教養数学を履修していなかった人は、『微分・積分30講』と『線形代数30講』を読んでおく方が良いと思う。だらだら読んでいても一ヶ

    経済学を知ったかぶりするための独学方法
  • 時系列データの相関係数はあてにならない

    元官僚の高橋洋一氏が時系列データの相関係数が高い事を論拠にしているが、この論証方法は全くもって厳密ではない。 計量経済学では時系列データの相関係数はあてにならない事は80年代から良く知られており、これに関連した業績でエングルとグレンジャーは、2003年にノーベル経済学賞を受賞している。 高橋氏のトリックを説明したい。世の中には時間とともに変化していくトレンド*1と言うのが多くある。このトレンドがあるデータを二つ比較すると、どちらも時間に対して相関しているため、相関があるように見えてしまう。 例えば戦後、一人あたりの米の消費量は減少し、コンピューターの普及台数は飛躍的に伸びたが、この二つの現象を結びつけて考える人はいない。しかし、米の消費量とコンピューターの普及台数は、高い相関を持つ事になる。 実データの場合は屁理屈をつける事も可能かも知れないので、シミュレーションして確かめてみよう。

    時系列データの相関係数はあてにならない
  • オープンソースと著作権、特許と規格、そして違法行為

    「池田信夫のオープンソースについての誤解の誤解」と言うエントリーで、経済評論家の池田信夫氏のオープンソースへの理解が不十分ではないかと批判していた。著作権や特許自体にある問題と、ソフトウェア自体にある権利侵害しやすいと言う問題、オープンソースと言うソフトウェアの配布形態にある問題、さらにはソフトウェアを使う利用者にある問題の識別がついていないと言う事のようだ。 1. オープンソース自体に問題は無い オープンソースについて端的に説明すると、基的には著作権(人格権、財産権)が条件付で開放されており、改編や再配布の自由があるものだ。だから、著作権や特許を侵害しているかは、そのソースコード次第になる。エントリーで指摘する通り、オープンソース自体が違法と言う事は無い。 問題のあるコードが混じることはある。古い事例で90年代前半のノベルとカリフォルニア大学バークレー校のBSD関連の訴訟は著作権上の侵

    オープンソースと著作権、特許と規格、そして違法行為
  • ブラック企業の存在をゲーム理論で考察する

    待遇の悪いブラック企業とは言え、そこで労働者が働いている限りは、社会的意義があると主張したところ、労働問題の専門家の濱口氏から「社会ゲーム上の非対称性が問題」だとツッコミが入った。なるほど。 完全情報で完備契約、そして摩擦無しを想定したが、例えば不完全情報を仮定するだけで、不幸にもブラック企業で労働する人々が現れる。教科書的なゲーム理論で考察してみよう。 1. ブラック企業が存在する採用・就職ゲーム まず、ゲーム木を描いてみる(ゲーム理論の詳しい説明は岡田(2011)などを参照)。 プレイヤーは企業と労働者だ。まず、企業が確率αで優良企業、1-αでブラック企業になる。次に、労働者が確率βで就職をし、1-βで就職をしないと決める。企業はα、労働者はβの値を決め、さらにαとβは相互に周知されている。しかし、実際に優良企業なのかブラック企業なのかの情報は、労働者は知る事ができない。濱口氏の言葉を

    ブラック企業の存在をゲーム理論で考察する
  • ベイズ推定を知っているフリをするための知識

    最近はベイジアンが増えてきて、実用分野での利用も進んでいるようだ。話題としては知っておきたいが、世間一般には理解に混乱を生んでいるようだ。 ベイズ推定は入門レベルの統計学の教科書ではオマケ的な扱いがされており、実際に伝統的な統計手法を拡張している面が強い。そういう意味では、誤解や混乱があっても仕方が無い。 利用する必要があるのか無いのか良く分からない点も多いのだが、知らないと告白するのも気恥ずかしいかも知れない。自分ではベイズ推定で分析を行わない人が、ベイズ信者と話をあわせるために最低限知っておくべき事をまとめてみた。 1. ベイズ推定とは何か? ベイズ推定とは、ベイズの定理を応用した推定手法だ。端的に理解するためには、最尤法に事前確率を導入している事だけ覚えれば良い。これで哲学的議論を全て回避してベイズ推定を把握することができる。 下の(1)式ではπ(θ)が事前確率、π(θ|x)が事後確

    ベイズ推定を知っているフリをするための知識
  • 統計学を勉強するときに知っておきたい7つのポイント

    マイクロソフト社が技術分野でもっと熱い専攻の一つとして分析/統計をあげている(Microsoft JobsBlog)。同社以外でも統計学は、今後最も有益なスキルの一つだと考えているようだ(NYT - For Today’s Graduate, Just One Word: Statistics)。しかし、データマイニングの話も一般化しつつあって学習ノウハウなども公開されているが、経験にあわない部分が多い。統計学を初めて勉強するときに知っておいた方が良い7つのポイントをあげてみた。 1. 学習機会やテキストは山のようにあるので利用する 確率・統計の日語テキストは山のようにあり、大学のコースワークを振り返っても、理文問わずにほとんどの学部で確率・統計はあったはずだ。大学院のコースワークでは英語の文献を好む傾向があるが、上級テキストでも日語のものも少なくない。また「マンガでわかる統計学」のよ

    統計学を勉強するときに知っておきたい7つのポイント
  • SVNからMercurialに移行するべき8つの理由

    Git、Mercurial、Bazaarはオープンソースの分散バージョン管理システムで、どれも人気がある。特にGitとMercurialはもともとはLinux Kernelの開発のために作られた歴史からしても、ライバルと言える関係だ。LinuxAndroid OSではGitが採用されたが、MercurialもOpenJDKやNetBeans、Xen、Python等で採用されている。 SVNから分散バージョン管理システムに移行を検討している所は多い。日だと濱野氏がGitのメンテナをやっているせいかGitに人気が集中しているようだ。しかし気軽に分散バージョン管理システムを導入したいソフトウェア開発チームには、あえてMercurialを勧めたい。 1. SVNからMercurialに移行するべき8つの理由 取り扱いが楽で、今すぐ移行できる事がMercurialを導入するべき理由だが、もう少し

    SVNからMercurialに移行するべき8つの理由
  • やっぱりJavaはここが遅い!

    的にJavaは『遅い』と思われている。理由は二点あって、一つは過去のバージョンのJavaの実行速度が遅かった歴史的な点であり、一つは実際に依然として遅い面がある点だ。しかし、漠然と遅いと思われている事が多い。 数値演算などでは、JavaはC言語に迫る速度を出す事もある。The Computer Language Benchmarks Gameでは逆転している項目もある。しかし、Javaアプリケーションの体感速度はC++アプリケーションを上回ることは無いとされる。 これはJITコンパイラによる初期動作の遅さ、ガーベッジ・コレクション(GC)の駆動などの複合的な要因で発生する『遅さ』なのだが、単純なベンチマークだと特徴を掴みづらい。そこで変則的なベンチマークを作って、このJavaの『遅さ』を簡単に計測してみた。 1. ベンチマーク方法 コッホ曲線の描画時間を連続して測るベンチマークを作成し

    やっぱりJavaはここが遅い!
  • Objective-Cの『遅さ』を計測したら、JavaやC++の5倍も遅かった

    なお、メモリ消費量はtopコマンドで測ったので、かなり大雑把な数字だ。また、Cで同様の処理のコードを書くと、ほぼC++と同じ速度になる。 追記(2011/02/17 8:50):Rubyによるベンチマークを追加。 追記(2011/02/17 11:00):Smalltalkによるベンチマークを追加。ソースコードは「Smalltalkのtは小文字です」のループ回数を修正した。 追記(2011/02/17 16:00):Perlによるベンチマークを追加。 追記(2011/02/18 10:30):Java 1.6.0_22で実行した、Scalaによるベンチマークを追加。また、clang/llvmでC++とObjective Cの値を取り直し、改善が見られないのを確認。 追記(2011/02/18 14:30):Ruby 1.8.7によるベンチマークを追加。1.9.2との速度差については、@IT

    Objective-Cの『遅さ』を計測したら、JavaやC++の5倍も遅かった
  • Javaはスクリプト言語より速い・・・のか?

    『プログラミング言語人気TOP10の簡易解説』という記事が人気を呼んでいたのだが、軽快な語り口で面白い読み物だが、語弊がありそうな部分がある。その中で特に、「(Javaは)実行速度はCに及ばないもののスクリプト言語よりは数十倍速い」とある部分が気になったので、簡単な例で検証してみた。 1. PythonPHPJava、Cで不適切な速度比較を行う 最初にコーディングが不適切な場合にプログラミング言語の速度比較を行うと、通説と異なる結果になる事を示したい。 Ubuntu Linuxで、オブジェクトをなるべく使わずに、順列の整数を100万個生成し、ランダムにシャッフルし、クイックソートを行ったときの経過時間を、timeコマンドで計測したものだ。ソート前、ソート後に配列の内容を、", "で連結して標準出力に書き出している。また、PythonAPIをなるべく使ったもの(*無し)と、なるべく使わ

    Javaはスクリプト言語より速い・・・のか?
  • 1