分析という言葉を使うと広義になりすぎるので、統計解析という言葉を使います。
統計解析といっても平均や分散、割合等の記述統計から、推測統計まで様々あります。
近年はビッグデータも整備されつつあることから、SQLでビッグデータ解析というのが流行りです。
しかし、疫学研究も含めた臨床研究の領域ではあまり目立っていません。
個人的な意見ですが、解析にSQLを使うことはあまり良い方法だとは思えません。
このように感じる理由は2つあります。
ひとつは、SQLでデータベース全体に対して統計解析をすることは結構難しいことなのです。
コンピュータに詳しくない方はピンとこないかもしれませんので、少しだけかみ砕きます。
一般に、データベースのデータ量は膨大で、それらはストレージに格納されています。
一方で、SASやRのような統計解析ソフトウェアで統計解析関数を使う場合、それらはメインメモリに格納されているからです。
最近は例外もありストレージを対象とした関数もあると思いますが、基本的には計算対象のデータはメモリに載っていることがほとんどです。
ストレージにあるデータをワンタイムで処理することは手間がかかるので、多くのベンダーが対応していません。
というのが、ひとつめの理由です。
ふたつめの理由は、解析で扱うデータはそれほどビッグデータではないからです。
データベース全体のデータは、もちろんデータ量的な観点からみてもビッグデータです。
しかし、解析対象というのは、これらのデータベースから抽出される一部のデータにすぎません。
例えば医療系データを例に挙げると、患者数が千万を超えるあたりからビッグデータだと私は考えています。
誰にとっても、この規模のデータを扱う機会は多くないでしょう。つまり、蓋然性がないのです。
おそらく、多くても百万人くらいではないでしょうか。
その程度の規模であれば、能力の高いPCを使えば統計解析ソフトでなんとかなります。
というように、技術的な課題とニーズの乏しさから、SQLで統計解析を実施することは求められていないのだと考えています。
しかも、これらふたつの理由は将来に渡って結構強固であり続けるとも思っています。
ただし、統計解析ではなく「機械学習」に使うとなればまた話は違ってきます。
その話題については、また取り上げてみたいと思います。
コメント