Home研究成果
 

研究成果

科学研究のためのR環境

統計解析環境 R は統計計算、アルゴリズム記述、グラフィックス機能が強力なフリーソフトウェアの プログラミング言語です。現在,さまざまなプラットフォームでRを利用することができます。Rは柔軟な 言語仕様を持ち,多くの統計的手法がパッケージとして公開され,利用できます。ほとんどの分野のデータ 解析に対して、非常に強力で、しかも安価な計算機環境と言えます。このため、現代科学の帰納的推論のために 有効な共通言語になりつつあります。

そのひとつの例が R の拡張性を利用して遺伝情報解析機能を特に強化した Bioconductor です。これは遺伝情報解析 のための非常に重要なツールとなっています。われわれのプロジェクトでも Bioconductor を用いて、遺伝情報 解析を強力にサポートするための環境を考えています。

遺伝情報解析がひとつの例となりますが、現代のデータの量は膨大です。これは、観測方法の進歩、データ収集の自動化、 インターネットの普及などが原因です。科学研究においては、そのような多量のデータを迅速に扱う必要があります。

そのための強力な手段がスーパーコンピュータです。そして、現在のスーパーコンピュータは並列計算を利用することによって、計算速度と解析できるデータ量を増大させています。

このような状況に鑑み、われわれは以下のような研究をすすめています。

1.並列化 R の利用環境

R で並列化計算を行うことが提案されていますが、まだ、実験的な段階にすぎません。われわれは統計数理研究所の スーパーコンピュータ上で実用的な並列化 R を利用できるようにしています。

ismaltx,ismsr 上のRについて (pdf)

R tutorial (pdf)

スーパーコンピュータ上でRを利用する場合にはUnixのシェル環境における煩雑な設定が必要となります。そこで本 プロジェクトではWebからスーパーコンピュータ上のRを利用できるインタフェースを開発を行っています。

RdWeb setup (pdf)

 figrue1
 figrue1

2.RとTIMSAC

TIMSAC(TIMe Series Analysis and Control program)は,統計数理研究所で開発された 時系列データの解析, 予測,制御のための総合的プログラムパッケージです。 TIMSACはFORTRANで書かれたプログラムですが, 最近その一部のプログラムの計算処理機能をライブラリ化した WindowsのためのDLL(DynamicLinkLibrary)と LinuxのためのSharedLibraryを作成しました。

このライブラリを用いて,TIMSACのRパッケージの開発を行いました。 このパッケージはさまざまな分野の時系列データの解析を比較的簡単に行うことができます。

TIMSAC for R Package

そのほかにRをWEb上から簡単に利用できるシステムを構築しています。

E-Decomp

WebDecomp

3.遺伝子発現データベースと発現データ解析システムのための Bioconductor 環境

国際遺伝子発現データベース事業(MGED)は、ポストゲノム時代の生命科学の研究 において、マイクロアレイに代表される大規模遺伝子発現データを収集し公に供 することを目的に進められている国際共同研究である。その目指すところは、個 別研究への貢献だけでなく、生命現象を俯瞰するために集められた大量データを メタ解析するための道を開くことにある。国立遺伝学研究所の生命情報研究セン ターDDBJは、MGEDの一員として、公的データベースの一翼を担うとともに、遺伝 子発現データ解析に関する研究を進めている。そして、これらの活動の一環とし て、CibexBSD の二つを開発公開している。 ところで、MGEDでは、解析ツールを研究者コミュニティに提供することを目的に、 Bioconductor コンソーシアムと協力してソフトウエア開発に取り組んでいる。 そこでわれわれは、Cibex と BSD で用いるデータ処理のために、Bioconductor コンソーシアムが開発を進めている手法の取り込みの検討と応用に関して研究を 進めている。さらに、ネットワークを介してDDBJと統計数理研究所のスーパーコ ンピュータ上で稼働する Bioconductor の連携環境を構築することによって 複雑な解析をより容易に進めることのできるようにすることを試みている。

Java による研究環境

Java 言語は一般的な計算機言語ですが、約10年前に発表されたことからもわかるように、最近の計算機技術の進歩 を十分に取り入れています。特にネットワーク、グラフィックス、並列計算という重要な機能が非常に強力にサポート されています。ただ、汎用言語であるため、R などと較べると初心者にやさしいとはいえません。 そこでこのような特徴を利用して、最新の計算機技術を利用できるような便利で強力なシステムの開発が重要です。 本プロジェクトでも Java を利用して科学研究を容易にするようなシステムを開発しています。

1.Jasp

Jasp (Java based Statistical Processor)はJava 言語で作成された統計解析システムです。 統計学の 初心者から専門家までの幅ひろいユーザが、それぞれの目的に応じて使えるように設計されています。

Jaspの特徴として

  • 統計計算のための簡単で柔軟な言語を持つ
  • 進んだユーザインタフェースがある
  • Web ブラウザから実行できる
  • 分散処理・並列計算機能がある
  • Java クラスによるシステムの拡張が容易
  • 外部言語 (C, C++ and Fortran) へのインタフェースがある
  • 無料で利用でき、ソースも公開する

が挙げられます。

Jasp

This is jasp figure

2.Jasplot

R や Jasp のような統計解析環境は強力なグラフ作成機能があります。また、それらを利用して新しいグラフを作成する ことも可能です。しかし、まったく新しいグラフを作成したり、複雑が対話的処理を実現しようとすると、そのようなシステム でもまだ不十分なことがあります。 そのような場合、C++ やJava のような一般的なプログラミング言語を利用することが一般的です。 ただ、すべてを最初からつくるのは大変ですので、対話的な処理を実現し、新しいグラフを簡単に構成できるようにするための 汎用的なライブラリが必要となってきます。明らかなことですが、対話機能を統計グラフ上で実現するには, 統計の数値計算 を行うプログラム書く場合よりも, オペレーティングシステムや表示デバイスなど計算機に関する知識をより多く必要 とします。また、マウス操作をイベントとして処理し, その操作に対してグラフの再描画処理を適切に行うプログラムを 書くことも簡単な作業ではありません。そこで, このような処理を実装したライブラリが利用できれば, 統計グラフの ためのプログラミング作業を軽減することができます。 Rでは, このような目的のために Java によって書かれたパッケージ iPlots が配布されています。

本プロジェクトでも、このような目的のために, Java による汎用的な統計グラフライブラリJasplot (Java statistical plot) を開発しています。Jasplot は, マウスによる対話的な操作をサポートしており, R や Jasp のような既存のシステムに組み込みやすく, 基本的なグラフやグラフを構成する部品を組み合わせて 新しいグラフを作りやすいのが特徴です。

Jasplot

This is Jasplot

乱数

乱数はでたらめな数字の列のことですが、現代科学の研究においては非常に重要なものです。それは多くの現象が 多かれ少なかれ不確定な要素を含むからです。

例えば、100mほどの長さを巻き尺で測ることを考えると、何回か測定 すると毎回ちょっとずつ異なる値が出ることが容易に想像されます。統計学ではそのような測定値はある正規分布に従う と考えることが多く、実際にそのように近似して問題が解決することが多いのです。ところで、そのような測定値の平方根の 性質が知りたいとしましょう。容易に思いつく方法は実際の測定を繰り返し、各測定値の平方根を取り、 それらを集めることによって、そのデータの性質を調べることです。ただ、そのような実験を多数回行うのは大変です。 そこで、何個かの実験データに当てはめた正規分布に従う乱数を発生させ、それを仮想実験(シミュレーション)の 結果と考え、それを 用いてそれらの平方根の性質を調べることがよく行われます。乱数の発生は計算機で行われます。この例は非常に簡単な 現象に対応していますが、非常に複雑な物理現象もこれと基本的には同じ考え方で乱数を利用して解析することが できます。スーパーコンピュータと乱数を用いて物理現象解析をおこなうことは現代科学において重要な方法です。

1.乱数ポータル

乱数の利用を促進するために Web 上で乱数ポータルサイトを計画しています。 乱数の解説やプログラム提供を行う予定ですが、現在は「乱数取得サービス」の機能を公開しています。

乱数ポータル

2.物理乱数を使った簡易型プラズマ粒子シミュレーション実験教育システム

プラズマ粒子シミュレーションコードは宇宙プラズマを始めとして,核融合プラズマやプラズマデバイスの シミュレーションなど 幅広い分野に応用されており,乱数を多用するアプリケーションの一つとしてよく知 られています。一方、シミュレーションコードの 移植性,ベクトル化・並列化などを考慮して,擬似乱数, 物理乱数をどのように利用するべきかといった、標準的な基礎研究は まだ十分に行われていないのが現状です。 近年,Mersenne Twister(MT法)に代表されるような新しい擬似乱数生成法も提唱される一方,応用 プログラムを使った現実的な評価の手法を具体的に確立することが,情報学、統計学、磁気圏物理学の 融合分野として急務 であると考えられます。

本システムには,物理乱数と擬似乱数を標準的な一システムに搭載し,両者の比較検討を行うことができる標準的な プログラム環境を構築することによって,研究,教育双方に利用可能なポータブルなシステムを構築することを 目標としています。 プラズマ粒子シミュレーションコードは,岡田が開発したNuSPACEを使用する予定です。  物理乱数は,今後の物理現象のシミュレーション技術の一つとして重要な役割を果たすと期待される一方, 本システムが物理分野 と統計,情報分野との融合テーマとして,応用範囲の広い実アプリケーション開発の例 として格好な基礎研究,教育テーマであると 考えています。

This is Simulation figure