• The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
* Stochastic Processes: Data Analysis and Computer Simulation [#j45b7376]


** About the course [#l6be16db]

:Course Number| 
::009x|
:''Course Number''| 
::TBA|

:Brief Description | 
:''Brief Description'' | 
::The course deals with how to simulate and analyze stochastic processes, in particular the dynamics of small particles diffusing in a fluid.|

:Full Description | 
:''Full Description'' | 
::The motion of falling leaves or small particles diffusing in a fluid is highly stochastic in nature. Therefore, such motions must be modeled as stochastic processes, for which exact predictions are no longer possible. This is in stark contrast to the deterministic motion of planets and stars, which can be perfectly predicted using celestial mechanics. This course is an introduction to stochastic processes through numerical simulations, with a focus on the proper data analysis needed to interpret the results. We will use the Jupyter (iPython) notebook as our programming environment. It is freely available for Windows, Mac, and Linux through the Anaconda Python Distribution. The students will first learn the basic theories of stochastic processes. Then, they will use these theories to develop their own python codes to perform numerical simulations of small particles diffusing in a fluid. Finally, they will analyze the simulation data according to the theories presented at the beginning of course. At the end of the course, we will analyze the dynamical data of more complicated systems, such as financial markets or meteorological data, using the basic theory of stochastic processes.|

:What You’ll Learn | 
:''What You’ll Learn'' | 
::Basic Python programming|
::Basic theories of stochastic processes|
::Simulation methods for a Brownian particle|
::Application: analysis of financial data|

:Learner Testimonial | 
:''Learner Testimonial'' | 
::TBA|

:Course Dates | 
:''Course Dates'' | 
::TBA|

:Course Length | 
:''Course Length'' | 
::6 weeks|

:Estimated Effort | 
:''Estimated Effort'' | 
::2-3 hours per week|

:Prerequisites | 
:''Prerequisites'' | 
::Basic mathematics expected of a 2nd year undergraduate student (differential and integral calculus and linear algebra).|

:Language | 
:''Language'' | 
:: Content: English|
:: Videos: English|

:Course Level | 
:''Course Level'' | 
:: Intermediate|

:Certificate Type and Price | 
:: Verified; Price: $49|
:''Certificate Type and Price'' | 
::TBA|

:XSeries | 
:''XSeries'' | 
::No|

:Course Staff | 
::Ryoichi Yamamoto|
:''Course Staff'' | 
::''Ryoichi Yamamoto''|
:::Ryoichi is a full Professor at the Transport Phenomena Lab in the department of Chemical Engineering at Kyoto University. He received his B.Eng. and M.Eng in Chemical Engineering from Kobe University and his Ph.D. in Molecular Engineering from Kyoto University in 1988, 1992, 1996, respectively.|
::Areas of Expertise: |
:::Soft Matter Science|
:::Computational Science|
:::Transport Phenomena|
::Major Works:|
:::Hydrodynamic interactions of self-propelled swimmers, John J. Molina, Yasuya Nakayama, and Ryoichi Yamamoto.|
:::Dynamics of Highly Supercooled Liquids; Heterogeneity, Rheology, and Diffusion, Ryoichi Yamamoto and Akira Onuki.|
::Connect:|
:::website: http://www-tph.cheme.kyoto-u.ac.jp/index.php?en%2FFrontPage|
:::facebook: ryoichi.yamamoto.399|
:::facebook:https://www.facebook.com/groups/1158492977603546/ |


** Lectures [#pc541bf0]

- Week1: Python programming for beginners
- Week1: Python programming for beginners [ [[''Go''>ry/en/StochasticProcessesWeek01]] ]

- Week2: Distribution function and random number 
- Week2: Distribution function and random number [ [[''Go''>ry/en/StochasticProcessesWeek02]] ]

- Week3: Brownian motion 1: basic theories
- Week3: Brownian motion 1: basic theories [ [[''Go''>ry/en/StochasticProcessesWeek03]] ]

- Week4: Brownian motion 2: computer simulation
- Week4: Brownian motion 2: computer simulation [ [[''Go''>ry/en/StochasticProcessesWeek04]] ]

- Week5: Brownian motion 3: data analyses
- Week5: Brownian motion 3: data analyses [ [[''Go''>ry/en/StochasticProcessesWeek05]] ]

- Week6: More complicated stochastic processes 
- Week6: More complicated stochastic processes [ [[''Go''>ry/en/StochasticProcessesWeek06]] ]



** Useful Information [#pdaabe84]

- Download Python and set up programming environment on your [Windows/Mac/Linux] PC [ [[''Go''>ry/en/StochasticProcessesAnaconda]] ]

- Python 3 official documentation [ [[''Go'':https://docs.python.org/3/]] ]

- メディアセンター演習室のPCを用いて化学工学に関する簡単なプログラミングを行います.
- Jupyter official website [ [[''Go'':http://jupyter.org/]] ]

- 初回に演習室のPC端末で使用するUSBを配布します.面倒ですが毎回持参してください.USB単体でiPython Notebook (Jupyter)が動くようにしてあります.
- Related online resources

- 実はUSBがなくても,WEBサイト[[tmpnb:https://tmpnb.org/]]を開くとJupyterが試用できます.USBを忘れた時はこちらを使用してください.
-- edX "Introduction to Computer Science and Programming Using Python" [ [[''Go'':https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-9]] ]

- 授業ではこのJupyterを使い,擬似乱数の発生からはじめてブラウン運動のシミュレーションをやり,確率過程についての理解を深めることを最終目標とします.

- 確率過程の考え方は,物理学や化学工学に限らず,世の中の複雑な現象(株価,気象,…)を数学的に扱う場合に威力を発揮します.

** 技術情報 [#c14feb02]

- [[PC端末の利用:http://www.iimc.kyoto-u.ac.jp/ja/services/ecs/terminal/]]

- [[Python入門:http://www.tohoho-web.com/python/]]

- [[jupyter (iPython Notebook):http://jupyter.org/]]

- その他,ググればたくさん情報があります.それらを有効に活用してください.

-- Jupyterの使い方の簡単な紹介.
http://myenigma.hatenablog.com/entry/2016/02/20/183423

-- グラフを書ために matplolib を使います.授業では基礎的な機能だけ使いますが,やり方次第でいろんなことが出来ます.
http://cflat-inc.hatenablog.com/entry/2014/03/17/214719

** 講義内容 [#y3c57198]

- 6/08 1.演習「プログラミングの準備」 
[ [[''Go'':https://nbviewer.jupyter.org/url/www-tph.cheme.kyoto-u.ac.jp/p/ryoichi/lec/ilas2/01_practice.ipynb]] ]

- 6/15 2.講義「Brown運動のシミュレーション」
[ [[''PDF'':http://www-tph.cheme.kyoto-u.ac.jp/p/ryoichi/lec/ilas2/02_Brownian_motion.pdf]] ] (この日のみ学術情報メディアセンター南館202)

- 6/22 3.演習「常微分方程式の数値解法(オイラー法)」 
[ [[''Go'':https://nbviewer.jupyter.org/url/www-tph.cheme.kyoto-u.ac.jp/p/ryoichi/lec/ilas2/03_damped_oscillation.ipynb]] ]

- 6/29 4.演習「種々の確率分布関数」 
[ [[''Go'':https://nbviewer.jupyter.org/url/www-tph.cheme.kyoto-u.ac.jp/p/ryoichi/lec/ilas2/04_distribution_function.ipynb]] ]

- 7/06 5.演習「Brown運動のシミュレーション」 
[ [[''Go'':https://nbviewer.jupyter.org/url/www-tph.cheme.kyoto-u.ac.jp/p/ryoichi/lec/ilas2/05_brownian_3D_simulation.ipynb]] ]

- 7/13 6.演習「Brown運動の解析」 
[ [[''Go'':https://nbviewer.jupyter.org/url/www-tph.cheme.kyoto-u.ac.jp/p/ryoichi/lec/ilas2/05_brownian_3D_simulation.ipynb#6.-Brown%E9%81%8B%E5%8B%95%E3%81%AE%E8%A7%A3%E6%9E%90]] ]

- 7/20 7.課題研究 
[ [[''Go''>ry/Ilas2_07]] ]


** 課題レポート [#xfad5940]

- 各回の宿題を課題レポートとする.

- 提出者: [[一覧>ry/Ilas2Rep]]

- 提出先: yamamoto.ryoichi.6m@kyoto-u.ac.jp (必要に応じて適宜ファイルをメールに添付してください.)

- 考察が必要なものについては必ず考察を記載すること.

- レポートを提出した人は,必ずメール送信の3日後以降に,上の「提出者一覧」に名前があるか確認すること.

- メールの本文に「氏名」と「学籍番号」を忘れずに.授業に関する要望・感想があれば遠慮せずに書いてください.