まず、ロックダウンすれば、よくなるかっていうとヨーロッパの姿を見る限り、どうかなぁ

 

3月の上旬からずっと ジョンズホプキンズの世界の感染者のマップ

https://gisanddata.maps.arcgis.com/apps/opsdashboard/index.html?fbclid=IwAR0eBQ2S1FktUYpW_WFEa_3O07k8GN4UzTsv0SVoO4URlCo25Ml34NYbiRY#/bda7594740fd40299423467b48e9ecf6

 

をみてる。最近はアメリカの感染者数が大きくて、なかなかわかりにくくて、スクレーピングでデータ取れないかぁって思ってるところですが、ずっと一定数増えてるように思います。オランダとかだいたい1000くらい

日のよっては800もあったけど ヨーロッパのどこ国も増え続けてることには変わりはない。回復した人の数や死者の数の時系列とか見たいんだけど。まだ手付かず。でもオランダは結構死者も多い、スイスのほうが少ないし、ドイツは死者は少なくてそれでも感染者は84794人 ただし22440人回復して、1107人死亡 だから6万人は感染者がいる。そのうちどれくらい重症化してるのかとか、時系列的にどうなってるのかとか

 

これに比べると他の国は致死率は遥かに高いし、一定数増えてるように思う。アメリカはニューヨーク州ニューヨーク市は感染者5万くらい死者1,500にんくらいで 回復者は ななんと0!

 

アメリカは保健に入ってない人が多いから大変でしょうけど、ヨーロッパはほとんどの国がロックダウンしてるけど一定数増える。この一定数はロックダウンでも増えるのはどうして?

 

いまのところ終息して国はないと思う、中国、韓国は 数字が信頼できない、国の威信や選挙がからんでるんで。

 

後は、一斉休校でいいような。 それとオリンピックはどうせ出来ないから、早くあきらめましょう。それが尾を引いて、学校再開したり 緊急事態宣言しなかったりと、悪影響が大きい。

大学の授業 オンラインでやるって想像も出来ない。そこで少し考えてみた。

 

例えば線形代数、放送大学にあるのは、テレビの分はちょっとねー。行列の計算や固有ベクトル、対角化出来る場合は良しとして、一般の場合は。。。

 

おそらく、一番の問題は、抽象化的な線形空間の定義とかいわゆるGeneral Nonsense のご利益をどう教えるかって部分で、これを通常の授業の内容のままWeb化したりオンラインはちょっと無理のような。

 

だから、圏論からはいる。とはいってもこれも文書作るのは至難の業。簡単な入門的な、圏論の道案内

とか参考書に揚げて逃げる(^^;。

 

それで少し書いて、要はトポロジーの初歩、とはいっても、特異ホモロジーを題材にして、位相空間のカテゴリーからアーベル群(つまりZー加群)か加群のカテゴリーの関手をはなす。

 

ただし全部書かずに、要は位相不変量を定義する目的で、ここの細かい内容は少し書いてあとは、Wikiとか本とか探させる。

 

そうすると 集合論、圏論、位相空間論、線形代数(Z-加群を係数を実数したら線形空間でちゃんと抽象ベクトル空間、部分空間、Kernel Image 商空間)

 

多くは書かなくて、Wikiを基本探させて自分で学んでもらう、もちろん本買うのもよし。基本的に今は図書館はしまってるはずなので(大学は開いてるけど、感染が危ないかも)。ネットや電子本とかで学習してもらう。

 

同時にPython などでスクレーピングや 検索技術を磨いてもらうのもよいかも。

 

あとかんたんな文書は GitHubで公開になるけどみてもらう。TeXが使えるので数式もかけるMarkdownを使うことで、書けるのと、集合論などの簡単なオペレーションは演習できるし、それはPythonのプログラムを学ぶことにある。OOPも学べば、数学の抽象化のご利益も理解できるし、あと最近のPythonの記法は関数プログラミング的になってきてるから さらにHaskell やったら圏論ともつながる。ついでにカリー・ハワード同型対応とか少し触れるとか(当然、ゲーデルの不完全性定理も)

今の学生はパソコンは持ってないけど、スマホは持ってる、だからGitHubは見れる、あとPythonista3 とか Pydroid3 とかIphoneやAndorid でPythonも使えるから、こういうやり方がいいのかも。

 

今だからできる内容なのかも。

ベイズ モデリング というか ベイズ統計の本を幾つか買ったので書いてみたいと思います。

 

使いたい本は Baysian Analysis with Python  (2nd edition)  で、それと 私の英語力では、きついのので訳本も参照します。こちらはPython によるベイズ統計モデリング です。ただしこれは 初版の訳本です。

 

どちらかと言うと文系向けに書かれた本のようですが、先ず理論よりコードって感じです。 ただし、RやStanのときの話も出来たら交えて書きたい。で、特に知り合いの栄養士さんたちが使えるようにしたいというのが念頭になります。とはいえ、まず自分が慣れなければ(^^;。

 

ディープラーニングとも絡めて行きたいです。というのも機械学習、実際はテストするとしたら、やはり単純な例で現象を把握する必要があると思うので、その際やはりこういう分析が必要になると勝手に思ってます。

 

何よりも身近なデータでいろいろデータからいろんな規則性や推論をしていく作業が楽しくできればと思います。

https://github.com/PacktPublishing/Bayesian-Analysis-with-Python

 

にサンプルコードがあり、かつ、ブラウザー上で実行内容がみられます。github は Jupyter Notebook のMarkdownを使うことが出来るのでこのようなことが可能で、自分でJupyter Notebook にコピペして、実行結果を見ながら、コードの意味を確認することも可能です。

 

また https://www.packtpub.com/big-data-and-business-intelligence/bayesian-analysis-python-second-edition

 

から サンプルコードをダウンロードしてもよいし、さきほどのgithubからダウンロードするか、git clone  でとってもよいです。

 

Rのほうは Stanですが Python では PyMC3 を使うようで、

 

PyMC3's base code is written using Python, and the computationally demanding parts are
written using NumPy and Theano.

 

Theano is a Python library that was originally developed for deep learning and allows us
to define, optimize, and evaluate mathematical expressions involving multidimensional
arrays efficiently. The main reason PyMC3 uses Theano is because some of the sampling
methods, such as NUTS, need gradients to be computed, and Theano knows how to
compute gradients using what is known as automatic differentiation. Also, Theano
compiles Python code to C code, and hence PyMC3 is really fast. This is all the information
about Theano we need to have to use PyMC3. If you still want to learn more about it, start
reading the official Theano tutorial 
at http://deeplearning.net/software/theano/tutorial/index.html#tutorial.
 

つまり MCMC法を実際にはHMCを 使うのですが、その際Stanは C/C++でコンパイルしてサンプリングを生成しますが、この部分が PyMC3 では NumPy and Theano を使いTheanoは機械学習のパッケージですが、多分、行列計算をここでやってかつC/C++にコードを変換してコンパイルして実行するようです。

 

Theano は 開発が止まってるので、そのうち Tensorflowが代わりになるようです。ちなみに訳本は、サンプリングの様々な手法の説明がありましたが、英語の方はいきなりPythonのコードでコイン投げ話に行くようです。

 

ベイス統計のやり方は、事後確率の確率分布をサンプリングで作ってしまうというやり方で、これは最尤度法における実質、尤度関数を求めてるわけで、それを数式ではなく、ヒストグラムとして実現するから、有限の操作になっていて、積分などは数え上げですから、いろんなことが、計算可能ということです。

 

だから、どういうモデルを採用するか? それの妥当性、ないしは出てきたヒストグラムから色んな情報を引き出すための操作を覚える、基本的にこれではないかと勝手に予想しています。この点 例えば豊田氏の放送大学の心理統計法の授業のサンプルコードで、実際出てきたヒストグラムから、いろんなデータを読み出す操作の関数を自前で作ってあって、それと同じようなことを比較しながらやれば良いのかなぁって勝手に思い込んでます。

 

まぁ違えば違ったらそれはそれで。。。

 

文系出身の方に言いたいのは、エディター使いましょうということ、あとはファイルシステムになれるということ。かりにPythonだったらJupyter NorebookやIpython使ってればエディターいらないけど、やはり色んな場面で必要になrますし、Rのスクリプトを編集するにも必要。そして一人でやらずにお友達と一緒に、コードを共有していくと、人の書いたものを利用したり真似たりすることで、いろんなメリットがあると思います。