ジオマーリン

仕様を公開してアドバイスを受けながら geomerlin.com を構築していくスタイル。このシステムではデータサイエンスと人工知能技術により地政学リスクを算出しています。

ジオマーリンをクラウドファンディングに出した!

 

f:id:geomerlin-com:20170619122851p:plain

朝日新聞クラウドファンディング・プラットフォームであるAporでPRが始まった!!

 

a-port.asahi.com

 

 サーバー代だけでも払い続けるのが大変な状況、そしてウェブサイトへの共感がなかなか集まらない現状。なかなか苦しい中、朝日新聞がPRも兼ねたプラットフォームを提供していることを知り、相談させていただいた。

 

 Aportのプロジェクトは平均してレベルが非常に高く、皆洗練されたデザインをしている。僕の場合は、Aportのレベルまでシステムのレベルを上げること、そして出展のクオリティを上げるところまでを一人ですることとなり、それなりに焦って進めてきた。

 特に、システムでユーザーが集まるほど、リスク算出の精度が上がるシステムを仕上げてから出展したいと考えていた。というのも、「これから作るので助けて下さい」はエンジニアというよりは学生や生徒のようなスタンスになってしまうので、「役立つものを作ったので、更によくするために、使ってもらいながら応援して下さい」という形にどうしてもしたかった

 

 今の気分としては、開発が間に合ってホントに良かった!というカンジです。

にくわえて、PRから営業まで出来る他のエンジニア・Aportを運営するプロたちには、ただただ頭が下がるばかり。

 

 

apacheの設定は全部大丈夫なのにindex.pyでinternal server error問題

ゴミみたいなエラーを報告

index.pyの最初の文字コード・テキストタイプ指定で改行コード2つ入れないととエラーが起きた。

3時間使った苦笑

 

print("Content-type: text/html; charset=UTF-8\n\n")

結局今は昔より危険なのか? 数字(GPR)で比較する

 

f:id:geomerlin-com:20170512150223j:plain

Fishman64 Shutterstock

 

よく、「今は危険な時代だ」とか「戦争の兆しが見える」とかいう言論を聞きます。インターネットにアップロードされたブログ・記事では、たくさんの大惨事に関する予言が行われています。具体的には「中国が戦争を起こす」とか「第三次世界大戦は中東から始まる」とかさまざまなタイプがありますが、大半のブログには広告が貼り付けてあり、アクセスを気にしているように感じます。

 

 インターネットのデータが巨大になりすぎて、そして広告ビジネスが発達しすぎて、大量の”警告”を多くのブログで見つけても次のことが気になってなかなか信用できません。

 ①危険は特に増えていないのに、インターネット人口の拡大で騒ぐ人が増えただけでは?

 ②巨大な危険や陰謀の記事は、アクセスを稼ぐための誇大表現では?

 

 では、世界全体で危険が増えているかどうか数字で測定しましょう。

 結論を先にいいますと、世界情勢は確実に危険になっており、今後も続く可能性が高いです。

 コラムや意見を排除し、ファクトベースの報道から地政学リスクに関わる表現をカウントすることで、形式的に世界全体のリスクを算出した研究が連邦準備制度FRB)から出ています。GPR Index という指標です。この値は、石油価格等と強い相関があることが下の論文PDFに書かれています。GPR Indexの推移を参考にすると次のグラフになります。

f:id:geomerlin-com:20170416222122p:plain

参考:FRB 「地政学リスクを算出する」

https://www2.bc.edu/matteo-iacoviello/gpr_files/GPR_PAPER.pdf

 ここ1年間は112から212の間で推移しているようですが、1990年台後半は50〜100ほどで推移しています。つまり、大手通信社・メディアをソースにすると明らかに危険な国際社会になっているということです。

 では実際に何が起こっているのでしょう。ウィキペディアで単純な比較をしてみます。

    

    1996年 - Wikipedia

 一番重要なニュース:ペルー日本大使館占拠事件

 一番有名な事件:ジョンベネちゃん殺害事件

    2016年 - Wikipedia

 一番重要なニュース:EU離脱・トランプ・北朝鮮の水爆実験・トルコクーデターのいずれか

 一番有名な事件:イスタンブール・ニース・ブリュッセル・フロリダの無差別テロのいずれか

 

 他の年も時間があり次第くわえますが、正直明らかな変化を感じます。この指標を信用できるものであるとするならば、現在は、9.11+イラク戦争の時以来の危険水域に世界情勢は入っていることになります。2000年台の地政学リスクは中東での戦争から始まり、リーマンショックを引きずる形で沈静化しました。下の図をはもっと長いスパンです。

f:id:geomerlin-com:20170512153705j:plain

引用:https://www2.bc.edu/matteo-iacoviello/gpr_files/GPR_PAPER.pdf

 

 91年の湾岸戦争終戦以降のGPRの増加は本質的だと考えられます。それは、おおよそのGPR増加年代には大きな事件(9.11など)の極により牽引されています。しかし、2010年台は大量の危機(クライシス)が極として現れており、米国が介入できない・関係ないケースが増えています。そしてこの増加がインターネットの発達と因果関係があるとき、または、米国の弱体化と関係があるとき、今後のGPRの傾向は同じものになってしまう可能性も考えられます。インターネット・ブロックチェーンに既存の統治権威の支配力を弱める傾向があるとすればこの傾向は歯止めが効かなくなっていきます。GPRの増加を抑えるような手段として一体何が存在するのでしょうか?

 さらに、2010年台後半のGPRには、今の主役のひとつである中国がまだ関わっていません。多極化の傾向とGPRに相関があるならば、これからの新興大国による地政学的状況の悪化も考えられるのです。

 

 

  

 

 

 

地政学リスクの指標 GPR-Indexの投資への応用

 前回、地政学リスクGPR Indexの説明をアップロードした。

geomerlin-com.hatenablog.com

応用として地政学的影響下の石油価格(WTI)の予想値導出につながる研究結果がプレトリア大学から発表されているので、調べた内容を記録しておく。これがどれほど画期的なものかを考えるのが難しいが、GPRの真剣な応用が広がる様子が分かる。

 

 このリンクの論文では、GPR-Indexを多変数の分散回帰に適用している(http://www.up.ac.za/media/shared/61/WP/wp_2017_02.zp106058.pdf

研究結論としては

 ①VAR-BEKK-GARCHモデル という GARCHモデル(ARCHモデル - Wikipedia)の拡張版が地政学リスクこみのモデルを作る際には適当である

 ②石油価格と地政学リスクは関係あるが、株の平均インデックスと地政学リスクはあまり相関がない

 ③GPR indexのタイムラグによって石油価格と株インデックスの共分散は顕著に減少している

 

 ここで言えそうなことはGPRインデックス算出のタイムラグを縮めると株価へ地政学リスクが波及するようになるかもしれないということである。

 

 論文で踊っている式は、基本的にGPRに対して、価格がどれほど激しく動いているか=ボラティリティを予測する式である。ボラティリティが予測できると、ここからオプション価格をモンテカルロシュミレーションやベイズ推定などで予測できる。

 導出されている式

f:id:geomerlin-com:20170507095805j:plain

 について要約を入れると

 ポートフォリオの利益 = (定数) + (ある一定期までのリターンの変動の和) + (地政学リスク×定数) + (現時点の確率変数)

 

 ・(利益の共分散) = (未知のパラメータ3つ同士の掛け算) + (未知のパラメータ4つと直前の確率変数4つ同士の掛け算) +(直前までの利益の共分散とパラメータ4つ同士の掛け算) + (係数×直前の地政学リスク) 

 

 上の式はパラメーター推定をしたあと、最終的に価格の予想につながる

 下の式は、価格の予想のためのボラティリティの推定につながる。

 未知のパラメーターが大量にあることに疑問を持つ方がいるかもしれない。なぜなら、このパラメータは事前に簡単に測れるものでないどころか、そもそも求まらないものだからだ。

 これらのパラメータは大量の価格データと照合して、最尤法で推定されることとなる。

 

 GPRの応用が早くもこうして十分に高度な金融工学に使われていることが分かった。次はGPRの応用が他にどのような分野に応用されるか調べたいと思う。

 

 

地政学リスクの指標 GPR Index の自動算出

 このまえニューラルネットで算出したGPRについて、より詳しいドキュメントとしてこのページをアップロードしたい。

 前回はこちら

geomerlin-com.hatenablog.com

 

 まずGPRのソースについて

 

 この論文(https://www2.bc.edu/matteo-iacoviello/gpr_files/GPR_PAPER.pdf )はアメリカ合衆国連邦準備制度から研究結果として出されている。題を訳して「地政学リスクを算出する」である。Dario Caldara、 Matteo Iacoviello 両氏は主要メディアからカウントできる地政学的単語(分類として 紛争・テロ・核リスク他8種類が挙がっている)からGPRを形式的に算出できるとしている。この値は実際に石油市場価格・株価と強い相関がある。

 

 指標GPRの現在の使用状況について

 GPRは段々と認知されてきたようで、

 この論文ではGPRを用いて具体的なインデックス価格への地政学的事象によるインパクトを予想する式が導出されている。(https://mpra.ub.uni-muenchen.de/59760/1/MPRA_paper_59760.pdf)後ほど内容を紹介する予定・・・

 

 「地政学リスク」という単語が紙面に踊るだけで中身がないのが現状である。しかしこの指標GPRが重要なインデックスとして認知され、地政学リスクは数値化されるのが当然という状況が来るかもしれない。

 

 ニューラルネットでの算出の意義について

 GPRは上述の通り、地政学的イベント発生→メディアでの反応→連邦準備制度による数値確定 という段階を踏む。これを瞬時に少ない誤差で数値を算出すると、リアルタイムで地政学リスク=GPRを発表できる。これは、投資判断からニュースの序列決めまで幅広く応用できる。

 

 我々のシステムの問題点

 両氏の論文に添付されたデータセットでは月ごとのGPRが発表されている。我々のシステムでは、月ごとのニュースとGPRを教師データ・セットとしているが、これは一つのニュースのGPRとしては不適切である。そして、ニュースの背景にあるべき多くのコーパスを捨象している。

 よって次のようなアップグレードが望ましい

 

f:id:geomerlin-com:20170506001415p:plain

 リンク構造つき文書データの埋め込みはグラフコンボリューションによって行うことを試そうと考えている。これはつい先日、有向グラフをニューラルネットに入力する手段があるというタイムリーな情報がきたので、幸運だとしか言いようがない。

tech-blog.abeja.asia

 有向グラフ×ニューラルネットが成功しない場合、Doc2Vecを用いて背景コーパス情報を内包しようと考えている。

 

 GPRの使用は今後広がってゆくと考えられる。地政学関係者が機会を逃さないようにこちらのシステム,geomerlin.com で支援したいと考える。

 

 

なぜプログラミング言語はたくさんあるのか?

 プログラミングを勉強するにしても、開発するにしても必ず考えるのは「どの言語にするか?」

 

 昔英語を習い始めたとき、「同じ意味を伝えられるのになんで外国語やるんだろう?」と漠然と考えた覚えがある。

 「同じマシンで同じ動作をさせるのになぜプログラミング言語はちがうのか?」は大学で僕の最初の疑問だった。

 

 この問題の答えの候補を3つほど挙げよう

 ①構造的・論理的な違いがある

 ②計算の論理構造は一緒だが、人間の都合・必要により、違う言語が開発された

 ③人間の愚かさにより同じ構造・必要のものが大量に作られた

 

 結論から言えば、3つ全部が正しいと思う。

 ①と②は表裏一体の問題で、

 簡単に言えば、コンピューターの処理は全部レジスタとCPUへの命令で書けるから機械語(最も細かいプログラミング言語)は一通りに書ける。しかし人間の設定する言語の目的も考慮すると機械語の作り方がひと通りには書けない。よって①・②は正しい。

 ②と③も表裏一体で、同じ目的だけど、今ある処理系・言語との相性を考えるとそれぞれの処理系にあわせて違うものができてしまう。楽をしたいから違うものを作る、という都合と愚かさは表裏一体という話だ。(僕はそれを愚かだとは考えない。)

 

 

 「論理的に同じなのに人間のせいで違う」説の穴

 この説の裏にはプログラミング=数学という世界観がみてとれる。数学では同じ定理を違う形式であらわすことがあるが、基本的に一つの表現さえすれば問題ない。新しいルールを覚える必要はないはずだ。プログラミングが論理的なら一つでいいはずだというのは自然な考え方だと思う。

 しかしながら、数学チックに全部公理系で表したときに、処理をどうやって表現するだろう?コンピューターの処理の記述を数学チックに述語論理で表現するとしよう。(オートマトンの遷移図では厳密でない)

 簡単な話、基本的に数学には時間の概念がない。ピタゴラスの定理は100万年後も同じように証明できる。だから単なる述語論理ではなく時相論理を導入しなければ処理は書ききれない。実際に述語論理をベースにしたProlog言語は京大によってTemporal Prologに改良されたし、述語論理ベースの形式手法Alloyは時相論理にあたるものを自前で組み込んでいるらしい。

 では時間の概念を入れた時相論理でプログラミング言語を統一できるかといえば、違う。時相論理では外部からの全く予想不能な入力に他の言語と同じオーダーの速さ対応できる保証がない。それを人手で対応しようとしたとき論理ベースではデバッグ・リーバスエンジニアリングの難易度が絶望的に上がる。もしこれが人手ではなく他のシステムができるのならある意味これは「統一言語」だと思う。よく言う「プログラミングすら人工知能にされる」というアレである。

 基本的にプログラミングの処理はコンピュータハードウェアという物理的制限と時間・順序が重要である点、そして外部入力が多い点で、結局数学とは全く違った世界になっている。

 

 メタプログラミングによる統一言語が可能」説の穴

 こういった、時相論理システムやAI技術によるメタプログラミングが言語を統一するという話は面白いと思う。しかしこのメタプログラミング言語はどうせ一つにならず、大量に生まれることだろう。それも、既存のプログラミング言語より全然多い数で。

 なぜそう思うかといえば、そもそも今あるほとんどの言語はアセンブリ言語C言語Javaメタプログラミング・互換系である。メタ化することでものすごい数の言語が生まれたのが現実だ。つまり、メタ化することは言語を統一するのが目的ではなく、コンピュータでやれることを増やすのが目的だ。webサイトを高機能にするためにJavascriptが生まれ、スマートフォンで指の操作でいろいろできるようにSwiftが生まれたと思う。目的の数<言語の数だ。

 

 これからも言語は増えていくだろう。コンピューターで出来ることは増えていくから。

 

 

サイトを大きく更新 ・・・海外のリスクとネガティブ情報に焦点を絞った

 

geomerlin.comのシステムの目的を「世界情勢を理解しやすいサイト」から「海外のリスク情報を保証するサイト」へと変更した。

 変化を簡単に説明すると、今までのサイトは「マレーシアの最近のニュースを可視化するサイト」だったが、これからは「マレーシアに旅行したりビジネスしたり投資したりしたら、どんな嫌なことが起こるかを表示するサイト」になる。

 

 ここでユーザーが集まり、危険情報を交換できるようにしたい。どの国がリスクが高いかというのは人それぞれ意見が違い、思想・経験の違いが反映されるからだ。

 このサイトのコンセプトは「ユーザーの思想を大切にするサイト」である。

 ユーザーの思想を大切にするサイトには2つのことが必要だと思う。

①思想が反映されるシステムにすること

②思想が役に立つシステムの目的が存在すること

前日のサイトの更新は②が修正されたということだ。

 

 そして地政学リスクの算出にもユーザーの助けが欲しい。それはAugur(http://www.augur-japan.com/)の試みでもある「人間の集合知による意思決定は信用できる」という前提に基づくことになるが。地政学リスクの順序づけさえ、ユーザーコミュニティで行えれば、数値の算出はたやすくニューラルネットワークで行える。「マレーシアとミャンマーどっちが今危ないか」をコミュニティで判断できればよい。

 ここで算出される地政学リスクが信用できる指標として使われることが重要だと思う。これがシステムの目的である「世界のリスクの可視化」を可能にする。