Comments
Description
Transcript
統計教育のためのランダムウオークアプレットについて 1)
〔研究ノート〕 弘前大学経済研究第 2 1号 November1998 統計教育のためのランダムウオークアプレットについて 船 木 1 ) 洋 1.はじめに 統計教育のための HTMLファイルを使った教材作りをしています。 HTMLファイルを使用した 学習の特徴は,そのインターラクティプ性,あるいはインターラクティブな可能性にあります。それ は,学習が通信を介して行われるか, CD-ROMなどによって提供される形で行われるかにかかわ りません。 HTMLファイルで,インターラクティプ性を実現する方法として, J a v a言語によるアプレットが '1 5 4 1 6 0 p〕。たとえば,統 あります。このアプレットが,統計教育には特に有用と思われます〔 4 計グラフの動的な描画です。いろいろな条件に対する,学習者の入力を受け,それに答える形で図形 を描きます。統計学では,さまざまな数表を使います。それは, t分布 .F分布など確率分布の表を引 くという形をとることが多いのですが,その数表を引く変わりに,分布を描かせ数値を出してもらい ます。それで,その名前のついた分布の特徴がヴィジュアルにわかり,また数値を量で捉える事がで きます。 さらに,乱数を使用したシミュレーションがあります。コンビュータなしではシミュレーションは 考えられません。 HTMLファイルによる教育はコンビュータを使用した教育ですので,その特徴を 生かして,シミュレーションを入れます。シミュレーションをし,その経過や結果をグラフで表しま a v a言語は決して す。これは HTMLファイル上ではアプレットによらなければ不可能です。また J 〕。通信を介しているときにはロードが遅くなると 数学を表現するのに不適な言語でもありません〔9 いうことも有りますが,アプレットを使用した HTMLファイルにはそれを上回る利点があります。本 稿では後者の例に属しますが,統計教育用として作ったランダムウオークアプレットについて述べま す 。 2 . このテーマを HTMLファイルに入れる目的と理由 このアプレットのある HTMLファイルの表題は,「ランダムウオークシミュレーション J です。 教科書による教育では,乱数表を使用するなどシミュレーションを行うことは時間と手間がかかりま す。統計学の応用として,あるいはその理解のためにシミュレーションは大切なテーマで、すが容易に できません。これに対して, HTMLファイルによる教育=コンビュータを使用しての教育ですので 擬似乱数を用いることにより,容易にでき,これが HTMLファイルによる統計教育の利点になりま 1)この研究は.科学研究補助金基礎研究( C)( 2)課題番号09680307の補助を受けています。 -181- す。 ランダムウオークは確率過程で学習するテーマで,文系学部の統計学の内容には,入りません〔1 0 。 〕 しかし,近年,金融への統計学の応用が意識され 〔 1 〕 (2 〕 〔7 〕,その基である確率過程の簡単な導 入は,あったほうがよいと思われます。実際現場でもシミュレーションが用いられている こともあり , HTM L ファイノレによる教育の特色が出せるところです。 ランダムウオークの図は面白く,学習者の 注意を引くものと思われます。こことの関係で言えば,正規分布の派生として,対数正規分布と,正 規ランダムウオークを,月l j ページの HT ML ファイノレに舎きます。 ここのシミュレーションのランダムウオークも正規分布によるランダムウオークです。ランダムウ オークと正規分布の関係と,株の値動きのモデルとしてのランダムウオークとを理解できるように, ということを意図しました。ぱらぱらでなく相互補完的に理解できるように意図しました。たとえば, 正規分布の学習では,そのような応用もあることがわかります。それで一つのアプレットで,標準正 規乱数の発生と結果の図示,算術ブラウン運動の図示,幾何ブラワン運動の図示を行い,これらの学 習が関連を持ってできるようになっています。以下アプレットの 3場面の意図と説明です。 − 3 . 標準正規乱数の発生 . ~ ' | 奇守二九内,ー,;" ' ' ' 却 と 園田園| .Qommunlc 説。r 出 副p ヨ f 栓 R e i o 副 _ t : i o 旦a a . S~ar~h 歯 r i S d N号 副 都_ P r i n t Se凶 r l t y ;~ ・ t ( ) j J 重·aoo<m剖恒星-~怠I!!虫どと盟主笠金1旦笠旦法判R•担当E耐性~!,1111_ I n 草 間tMess 噌s ! ; jィントネフトニ3 検索 d情報 (J~霊場します. 対数をと勺たこの確率過穏の動き(J 算術7 _ ラウン運動にf J . ります. 左のアブfットで(J標準正~~減、算術ブラウン漫動の綬散化 したランダムウ r 夕、議何ブラウン連動を厳鍛{ i こシミュレ ーションの動ぎを貝ドるこがてきます. o~下のボ oil ンを押すこと ζ より何度でもやれます. 0 1 . tとoの値は直銭入力できます.スライダーで入力も できます. l ( J 1と1の範囲で、 0o ; ! O から2までです. ・l ・算ブラウン運動で ll=O o=Iとお〈と標準ブラウン 運動の動きポ耳ちれます. 量 l e41由•iEIAU −幾何ブラウン連安" I / ) ところでσ = Oとしたグラフ 1 1 . Y ,•九(1 +,.−)’の指数曲線むこなります. F ラ:ノFムウ対 』タ F 樟!5の動~モデ}~ 盟国盟国 平均百一一 揖撞鑑差~ 司 ザ 「 O 乱数によるヒストグラムと,密度関数の比較。 O 平均と標準備差の計算 0 発生した乱数の時系列表示 -1 8 2- 統計教育のためのランダムウオークアプレッ トについて 平均 O ,標準偏差 1の正規乱数を発生させ,その乱数のヒストグラムを作り,標準正規分布の密度関 数 と比較しています。 コンピュータで発生させる乱数は擬似乱数であるため,本格的な使用では,日今 味を必要とします。 このことは,文章のほうで学習者に説明します。最近でも最も統計的に良い性質 を持っと思われてき た乱数によるシミュレー ションが正しい値に収束しない例が研 究されています 〔 1 0〕 。 ここでは教育的使用なので, J a v a言語のランダムクラスの n e x t G a u s s i a n( ) メ ソッドを用いて 正規乱数を発生させています 〔6' 378p 。 〕 ヒストグラムの級の数は多すぎても少なすぎてもいけま せん。 スタ ージスの指針も有りますが, ここ では試行錯誤の結果,分布の特徴がよくわかると思われ た1 0にしています〔5 , 39p 〕 。 ヒストグラ ムと ,密度関数 ル)=士n的(一千 ) 叫 ~ を重なるように図示しています。何度でも実験を行えば, 乱数発生メカニズムが標準正規分布に従 う としても,実現したデー タによってはとてもそのように思えない結果が出ることもある,ということ をヴィジュアノ レに理解でらきます。確率の理解が深まります。「確率でモデル化される撹乱の理解Jで す。各サンプルの平均値と標準偏差値も表示しであ りますので,数値でも ,違いとサンプルごとの変 動の様子が理解できます。図の下部で,発生順に標準正規乱数の大きさを表示 し , 次の場面のランダ ムウオ ークとの繋がりを暗示させるように配慮しま した。なお,簡単な拡張として乱数の発生回数を 指示できるようにできます。 4. 算術ブラウン運動 | ξ ー \ ・ 周囲図| 跡 ζ ~ヨ 重量 左のアブレフトでほ標準正3 婚し数、i,ブラウン辺質問厳激化 ' v i ζランダムウ君ーク、 幾何ブラウン運動を舵劇t 1 , . . . . たシミュレ }ションの動ぎを見るこができます. 0左京のボ担ンを符すこと L こより 何度でもやれます. 0 1 1と oの{直は直後入力できます.スライダーで入力も できます. l l J ・1 と1 の震回で. 。はOから2までです. ・l l = O . . o=1とおくと標耳障ブラウン ・算:ブラウン運動で l 運動の動きが見ちれます −幾何ブラウン運重加也ころでσ= Oとしたグラフは. Y ,• Y0 (1 + ノザ)’ の 数曲線Lこなります. 亡話芸こコ μ : I C ' . : プ C三三三三店三三三コ σ r r : -G E三三三三三百 当証-~忌 _ . l l 4 ち ノ. A t r10 7 角 -1 8 3- 0 算術ブラウン運動をシミュレー トしたランダムウ オークの表示 。標準正規乱数の時系列表示 0 乱数のサンプルの平均と標準偏差の表示 算術ブラウン運動 dY(t)=μdt+odW(t) を離散化し . / X I Y1+. a 1= Y t+μt : . t+oz として, { y~t } の時系列を描きます 〔2, 70-76p〕。 y~t = 苅 叩 で す。 zは標準正規確率変数で,μ と oは定数です。 tは時間です。 t : . tは時間の刻み幅で0 . 2 5に指定して あります。 これは縦軸とのスケールの兼ね合いでグラフが平均的に見栄えがよくなるように設定しま した。時間間隔を指定させることもできました。 しかし,動きの特徴ををヴィ ジュアノレに捉える,と 言うと ころに学習の力点置いたので固定しました。 μ と uは学習者が指定します。μ は− 1と 1の間 .1 刻みで変化させることができます。 oは 0と2の間で0 . 1$ B Jみで変化させることができます。 ス で0 ライダーで数値を選択できるよ うにしました。 マウス から手を離さなくても ,入力ができるようにす るためと,学習者の興味を誘うためです。μ が Oのときは正規ランダムウオー クで,。が Oのときは 直線のグラフですが,文章のほうでそのことを説明し, 学習者の注意を促します。μ と oの値を変 えてやってみる事により f 算術ブラワン運動の動きが,直線で表される傾向線と 撹乱が合わさったも のである J ことが,グィジュアノレに理解できます。図の下部に標I 修正規乱数 zを時系列表示すること 品邑f i . l 3弘曲 ~:> ~ '1 ~ 盟 · ] ~.r糊et'.sR自国 t f l : 致 点1::騨白甥滋滋塩酸突きr .}ンョンの鑑定を見るこ 1 できます. 0 左下のボ担ンを押すこと L こより何度でもやれます. Ouとoの僅l ; f 直銭入力できます.スライターで入力も できます. • u l ; t 1と1 の範閣で. σほ0かも2までです . ・ 算 ブラウン運iでu = O ,σ = 1とおくと惇慾ブラウン 運動の動きカ兎 られます. m . −幾何ブラウン逮賓 とーでσ = Oとしたグラフ' : I. 旨数臨時車L こなります. Y ,•Y0(1 + ρ’)'g掛 u 相同国四 μ庶 主叫 C三三三三E三三ヨ σ「 で : GE 三三三主主E ノA•怠 10.57 -1 84ー 統計教育のためのランダムウオークアプレットについて により, lの項での標準正規分布との繋がりを感じてもらえるようにしました。ブラウン運動の波形 の図が描画エリアに収まるように μ の値により,出だしの縦軸の位置が変動するようにしました。 同時に目盛もつけかえられています。 5 . 幾何ブラウン運動 0 幾何ブラウン運動をシミュレートした図の表示 0 算術ブラウン運動をシミュレートしたランダムウオーク表示 。シミュレーションに用いた式 幾何ブラウン運動 d S ( t )=μ S ( t ) d t+ σS(t)dW(t) を離散化したモデル St+" 1 t=St+μ S 1 L l t+aStzFf の数列{ s~t } の時系列を描きます〔2〕。 S~t =So+ 山 としていますo a =0のとき,これは指数 関数 S o e μ tの離散化した S o(1+μflt)n の幾何級数のグラフですが,そのことを文章のほうでも説明します。 μ と oの値を変えてやってみ る事により「幾何ブラウン運動は,指数曲線で表される傾向線と撹乱が合わさったものである」こと がヴ、ィジュアルに理解されます。元の微分方程式で, a=Oのとき.算術ブラウン運動の傾向線が直 線であることをわかることは容易でも,幾何ブラウン運動の傾向線が,指数曲線であることをわかる ことは容易ではありません。図で容易に理解できます。 またこの幾何ブラウン運動に対応した L(t) = l o g S ( t ) の離散化した,モデル 。 2 ~ Lt+" 1 t= L1+(μ一万一) L l t +az~Llt の数列 { L.:1~ }も描きます〔乙剛〔7,228p〕。数列{ L.:1~ }は算術ブラウン運動の離散化したモデル になっています。同時にグラフに書くことにより,算術ブラウン運動と幾何ブラウン運動の比較がで きます。またここで表示される算術ブラウン運動と前の場面の算術ブラウン運動との違いがヴィジュ アルに理解され.自然に,直線傾向線の違い,すなわち 。 2 2 分の違いに気づかれることを意図しています。 式が複雑なので, μの値や σの値との関係を理解してもらうため,離散化した式も表示します。この 式の表示はないほうが良し、かもしれません。このモデルも解析的に解けます〔5 . 228p〕。この点も -185- 文章のほうにはコメントします。 6 . おわりに コンビュータあるいはインターネットによる教育は考えなければならない点もありますが,かなり 有効であるように思われます。本稿の場合には,比較的難しい内容が,アプレットによりヴィジュア ルに理解されます。単純なドリル・チュートリアル型ではありません。この部分は上位の後半部分の ページになります。そこでは,正規ランダムウオーク,算術ブラウン運動,幾何ブラウン運動のコン パクトな説明をします。確率微分方程式を,どこと結びつけて説明するか,このページ以前にそれを どこかで学習できるようにするか,どのような形で降りて説明するか,などが課題です。 アプレットのソースを以下にのせます。また,暫定的ですが h t t p :/ / h u m a n .h i r o s a k i u .a c .j p / k e i z a i / f u n a 3 / s h o u k a i 2 .htm からこのアップレットがみられます。アップレットはシマンティックの v i s u a lc a f eを用いて作りま した。 参考文献 〔1〕刈屋武昭:金融工学と統計科学と日本統計学会 日本統計学会会報, 9 7( 1 9 9 8 )1 0 1 3 〔2〕小暮厚之:ファイナンスの計量分析(朝倉書店, 1 9 9 6 ) 〔3〕森平爽一郎,小島裕:コンピュテーショナル・ファイナンス(朝倉書店, 1 8 8 7 ) 〔4〕溝口文雄,大和田勇人:入れたて J a v a (共立出版, 1 9 9 6 ) 〔5〕宮川|公男:基本統計学[新版](有斐閣, 1 9 9 1 ) 〔6〕MikeC o h n :T e a c hY o u r s e l fVおu a lC a f e2i n2 1D a y s( S a m s .n e tP u b l i s h i n g ,1 9 9 7 ) 〔7〕J o h nC .H叫l :印t i o n s ,F u t u r e s ,a n dO t h e rD e r i v a t i v e s ,T h i r dE d i t i o n( P r e n t i c eH a l l ,1 9 9 7 ) 〔8〕S c o t tR o b e r tL a d d :J a v aA l g o r i t h m s( M c G r a w H i l l ,1 9 9 7 ) 〔9〕S h e l d o nM.R o s s :A p p l i e dP r o b a b i l £かM o d e l sw i t h仰 t i m i z a t i o nA p p l i c a t i o n s (Holden-Day,1 9 7 0 ) 〔1 0〕Ak 廿aT a j i m a ,S y o i t iN i n o m i y aa n dShuT t e z u k a “ :A n a l y s i so ft h eAnomalyo fr a n l ( )G e n e r a t o ri n MonteC a r l oP r i c i n go fF i n a n c i a lD e r i v a t i v e s .”] o u n z a lo f印 e r a t i o n sR e s e a r c ho fj a p a n ,41( 1 9 9 8 ) 3 8 7 3 9 7 ランダムウオークアプレット / * im凹 r tj a v a . a w t .* ; 出p o 此 j a v a . a p p l e t .* ; impo 此 j a v a . u t i l . * ; impo 氏 s y m a n t e c . i t o o l s . a w t . L a b e ! B u t t o n ; im伊 d s y m a n t e c . i t o o l s . a w t . H o r i z o n t a l S l i d e r ; 回 開r tsymant 配 . i t o o l s . a w t品 a p e . V e r t i 回I L i n e ; i m p o r tsymant 民 . i t o o l s . a 帆 油a p e . H o r i z o n t a l L i n e ; p u b l i cc l a s sRandomwalke x t e n d sA p p l e t { p u b l i cv o i di n i t ( ) 配 . i t o o l s J a n g . C o n t e x t . s e t A p p l e t ( 出i s ) ; symant / / {{ I N I TCONTROLS -186ー 統計教育のためのランダムウオークアプレットについて s e t L a y o u t ( n u l l ) ; s e t S i z e ( 4 2 6 , 3 8 2 ) ; s e t B a c k g r o u n d ( n e wC o l o r ( l 6 7 7 7 2 1 5 ) ) ; 開n e l1=newj a v a . a w t . P a n e l ( ) ; 岡 田1 1 . s e t L a y o u t ( n u l l ) ; p a n e ll . s e t B o u n d s ( 2 4 , 2 7 6 , 3 7 8 ,1 0 2 ) ; a d d( 問n e l l ) ; 同n e l 2=newj a v a . a w t . P a n e l ( ) ; 開n e l 2 . s e t L a y o u t ( n u l l ) ; 開n e l 2 . s e 由o u n d s ( 0 , 0 , 3 7 2 , 4 8 ) ; 同n e l 2 . s e t B a c k g r o u n d ( n e wC o l o r ( l 6 7 6 2 8 8 0 ) ) ; 開n e l l . a d d(開n e l 2 ) ; Groupl=new C h e c k b o x G r o u p ( ) ; normalButton=newj a v a . a w t . C h配 kbox(”傑準正規乱数’', G r o u p l ,f a l s e ) ; n o r m a lBut t o n . s e t B o u n d s ( 2 ,1 0 , 9 6 , 2 4) ; p a n e l 2 . a d d ( n o r m a 1 B u t t o n ) ; randomwalkButton=newj a v a . a w t . C h e c k b o x(”ランダムウオーク・・, G r o u p l ,t r u e ) ; u n d s ( l1 0 , 1 0 , 1 2 0 , 2 4 ) ; r a n d o m w a l k B u t t o n . s e由 o 同n e l 2 . a d d ( r a n d o m w a l k B u t t o n ) ; r o u p l ,f a l s e ) ; b o n d B u t t o n=newj a v a . a w t . C h e c k b o x(”線価の動きそデル”, G b o n d B u t t o n . s e t B o u n d s ( 2 3 6 ,l 0 ,1 2 0 , 2 4 ) ; 開n e l 2 . a d d ( b o n d B u t t o n ) ; l a b e l B u t t o n l=new s y m a n t e c . i t o o l s . a w t . L a b e ! B u t t o n ( ) ; 住y { l a b e I B u t t o n l . s e t T e x t ( " W e l c o m e! ” ) ; 回 t c h G a v a . b e a n s . P r o p e r t y V e t o E x c e p t i o ne ) {} 紅y { l a b e I B u t t o nl . s e t B o r d e r C o l o r ( n e wj a v a . a w t . C o l o r ( 8 4 2 1 5 0 4 ) ) ; c a t c h G a v a . b e a n s . P r o p e r t y V e t o E x c e p t i o ne ) {} t r y{ l a b e ! B u t t o n l . s e t B u t t o n C o l o r ( n e wj a v a . a w t . C o l o r ( l 6 7 6 2 8 8 0 ) ) ; c a t c h G a v a . b e a n s . P r o p e r t y V e t o E x c e p t i o ne ) {} l a b e lB u t t o nl . s e t B o u n d s ( 6 , 5 4 ,1 1 8 , 2 9 ) ; 岡 田1 1 . a d d ( l a b e I But t o n1 ) ; m u S i i d e r = news y m a n t e c . i t o o l s . a w t . H o r i z o n t a ! S l i d e r ( ) ; 町y { m u S l i d e r . s e t M i nV a l u e ・ (1 0 ) ; t c h G a v a . b e a n s . P r o p e r t y V e t o E x c e p t i o ne ) {} m u S l i d e r . s e 由o u n d s ( 2 4 6 , 5 4 ,1 1 8 ,1 2 ) ; m u S l i d e r . s e t F o r e g r o u n d ( n e wC o l o r ( 8 4 2 1 5 0 4 ) ) ; m u S l i d e r . s e t B a c k g r o u n d ( n e wC o l o r ( 1 6 7 6 2 8 8 0 ) ) ; 国 問n e ll . a d d ( mu S Ii de r ) ; sigumaSlider=news y m a n t e c . i t o o l s . a w t . H o r i z o n t a I S l i d e r ( ) ; t r y{ s i g u m a S i i d e r . s e t M a x V a l u e ( 2 0 ) ; 団 t c h G a v a . b 田n s . P r o 開r t y V e t o E x c e p t i o ne ) {} 町γ { s i g u m a S l i d e r . s e t M i nV a l u e ( O ) ; 回 t c h G a v a . b e a n s . P r o p e r t y V e t o E x c e p t i o ne ) {} 位y{ s i g u m a S l i d e r . s e t V a l u e ( l ) ; t c h G a v a . b 回 n s . P r o p e r t y V e t o E x c e p t i o ne ) {} s i g u m a S l i d e r. s e t B o u n d s ( 2 4 6 , η, 1 1 8 , 1 2 ) ; s i g u m a S l i d e r . s e t F o r e g r o u n d ( n e wC o l o r ( 8 4 2 1 5 0 4 ) ) ; 回 -187- s i g u m a S l i d e r . s e t B a c k g r o u n d ( n e wC o l o r ( 1 6 7 6 2 槌0 ) ) ; 問n e l l . a d d ( s i g u m a S l i d ぽ ) ; l a b e l l =newj a v a . a w t . L a b e l ” ( μ” :, L a b e l . R IG H T I ; l a b e l1 . s e t B o u n d s (1 6 8 , 5 4 , 2 4 ,1 2 ) ; p a n e ll . a d d O a b e l l ) ; 帆 . L a b e l( ” 。 : ” ,L a b e l . 悶G H T ) ; l a b e l 2 = n e wj a v a . a 由o u n d s ( l 3 8 ,7 2 , 5 6 , 1 2 ) ; l a b e l 2 . s e 同n e l1 . a d d 0 a b e 1 2 ) ; muText=newj a v a . a w t . T e x t F i e l d O ; ” (O ° ' ) ; m u T e x t . s e t T e x t muT 回 t . s e 由o u n d s ( 1 9 8 , 5 4 , 3 5 ,1 5 ) ; m u T e x t . s e t B a c k g r o u n d ( n e wC o l o r ( 1 6 7 7 7 2 1 5 ) ) ; 開n e l l . a d d ( m u T 回 t ) ; s i g u m a T e x t = n e wj a v a . a w t . T e x t F i e l d O ; 田 t . s e t T e x t C l・ − ) ; s i g u m a T s i g u m a T e x t . s e t B o u n d s (1 9 8 ,7 2 , 3 5 ,1 5) ; s i g u m a T e x t . s e t B a c k g r o u n d ( n e wC o lo r (1 6 7 7 7 2 1 5 ) ) ; 開n e ll . a d d ( s i g u m a T e x t ) ; グ } } randomCanvas=newR a n d o m C a n v a s ( ) ; r a n d o m C a n v a s . s e t B o u n d s ( 6 , 6 , 4l 4 , 2 6 η; r a n d o m C a n v a s . s e t B a c k g r o u n d ( n e wC o l o r ( 6 5 5 3 5 ) ) ; a d d ( r a n d o m C a n v a s ) ; グ { { REGISTERL ISTENERS SymMouseaSymMouse=newS y m M o u s e ( ) ; n o r m a I B u t t o n . a d d M o u s e L i s t e n e r ( a S y m M o u s e ) ; d M o u s e L i s t e n ぽ (a S y m M o u s e ) ; r a n d o m w a l k B u t t o nぷ l b o n d B u t t o n . a d d M o u s e L i s t e n e r ( a S y m M o u s e ) ; l a b e l B ut t o n1 . a d d M o u s e L is t e n e r ( a S y m M o u s e ) ; S y m A c t i o nI S y m A c t i o n = n e wS y m A c t i o n O ; m u S l i d e r . a d d A c t i o n L i s t e n e r O S y m A c t i o n ) ; s i g u m a S l i d e r . a d d A c t i o n L i s t e n e r ( I S y m A c t i o n ) ; グ } } R a n d o m C a n v a sr a n d o m C a n v a s ; グ { { DECLARECO 灯 ROLS e l l ; j a v a . a w t . P a n e l凹n j a v a . a w t . P a n e lp a n e l 2 ; j a v a . a w t . C h e c k b o xn o n n a ! B u t t o n ; C h e c k b o x G r o u pG r o u p l ; 似 b o xr a n d o m w a l k B u t t o n ; j a v a . a w t . C h j a v a . a w t . C h e c k b o xb o n d B u t t o n ; s y m a n t e c . i t o o l s . a w t . L a b e l B u t t o nl a b e l B u t t o n l ; s y m a n t e c . i t o o l s . a w t . H o r i z o n t a l S l i d e rm u S l i d e r ; s y m a n t e c . i t o o l s . a w t . H o r i z o n t a l S l i d e rs i g u m a S l i d e r ; j a v a . a w t . L a b e ll a b e l l ; j a v a . a w t . L a b e ll a b e l 2 ; j a v a . a w t . T e x t F i e l dm u T e x t ; j a v a . a w t . T e x t F i e l ds i g u m a T e x t ; / / } } c l a s sSymMousee x t e n d sj a v a . a w t . e v e n t . M o u s e A d a p t e r p u b l i cv o i dm o u s e C l i c k e d G a v a . a w t . e v e n t . M o u s e E v e n te v e n t ) O b j e c to b j e c t =e v e n t . g e t S o u r c e O ; i f( o b j e c t == n o n n a l B u t t o n ) h i s t B u t t o nM o u s e C l i c k e d ( e v e n t ) ; e l s ei f( o b j e c t == r a n d o m w a l k B u t t o n ) r a n d o m w a l k B u t t o nM o u s e C l i c k e d ( e v e n t ) ; e l s ei f( o b j 配 t == b o n d B u t t o n ) b o n d B u t t o nM o u s e C l i c k e d ( e v e n t ) ; -188- 統計教育のためのランダムウオークアプレットについて e l s ei f( o b j e c t == l a b e I B u t t o n l ) l a b e I B u t t o n lm o u s e C ! i c k e d ( e v e n t ) ; v o i dh i s t B u t t o n_M o u s e C l i c k e d f j a v a . a w t . e v e n t . M o u s e E v e n te v e n t ) //{{CONNECTION u γ { l a b e lB u t t o n1 . s e t Bu t t o n C o l o r (C o l o r. o r ョ n g e ) ; l a b e ! B u t t o n l . s e t T e x t(”標準正規乱数”); c a t c h ( E x c e p t i o ne ) {} muT 回 t . s e t T e x t ” (O ” ) ; m u S l i d e r . s e t V i s i b l e ( f a l s e ) ; l a b e l l . s e t T e x t(”平均”); s i g u m a T e x t . s e t T e x t ” (1 ” ) ; s i g u m a S l i d e r . s e t V i s i b l e ( f a l s e ) ; l a b e l 2 . s e t T e x t(”標準偏差”); m u T e x t . s e t E d i t a b l e ( f a l s e ) ; s i g u m a T e x t . s e t E d i t a b l e ( f a l s e ) ; グ } } v o i drandomwalkButton_ M o u s e C ! i c k e d f j a v a . a w t . e v e n t . M o u s e E v e n te v e n t ) グ { { CONNECTION 町y { l a b e l B u t t o n l . s e t B u t t o n C o l o r ( C o l o r . o r a n g e ) ; l a b e I B u t t o n l . s e t T e x t(”算術ブラウン運動”); 臼 t c h ( E x c e p t i o ne ) {} m u S l i d e r. s e t V i s i b l e (t r u e ) ; s i g u m a S l i d e r . s e t V i s i b l e ( t r u e ) ; ” (μ” ) ; l a b e ll . s e t T e x t l a b e l 2 . s e t T e x t ” (a " ) ; ( 汀u e ) ; m u T e x t . s e t E d i t a b l e x t . s e t E d it a b l e (t r u e ) ; s i忠imaTe グ } } v o i db o n d B u t t o n_ M o u s e C l i c k e d f j a v a . a w t . e v e n t . M o u s e E v e n te v e n t ) //{{CONNECTION t r y{ l a b e lB u t t o nl . s e t B u t t o n C o l o r (C o l o r. o r a n g e ) ; l a b e l B u t t o n l . s e t T e x t(”幾何ブラウン運動”); c a t c h ( E x c e p t i o ne ) {} m u S l i d e r . s e t V i s i b l e ( t r u e ) ; s i g u m a S ! i d e r . s e t V i s i b l e ( t r u e ) ; l a b e lI . s e tText ” (μ) ”; l a b e l 2 . s e t T 邸 t ” ( muT 位 t . s e 也d凶 b l e ( 位ue ; ) s i g u m a T e x t . s e 也d i t a b l e ( t r u e ) ; ” (0 . 3” ) ; m u T e x t . s e t T e x t s i g u m a T e x t . s e t T e x t Cl " ) ; グ } } -189ー v o i dJ a b e l B u t t o n l_m o u s e C i i c k e d ( j a v a . a w t . e v e n t . M o u s e E v e n te v e n t ) //{{CONNECTION s e t ( ) ; 町y { l a b e I B u t t o n l . s e t B u t t o n C o l o r ( C o l o r . r e d ) ; l a b e I B u t t o n1 . s e t T e x t (”トライ&トライ&トライ”); α t c h ( E x c e p t i o ne ) {} の } c l a s sSymAction i m p l e m e n t sj a v a . a w t . e v e n t . A c t i o n L i s t e n e r p u b l i cv o i da c t i o n P e r l o r m e d ( j a v a . a w t . e v e n t . A c t i o n E v e n te v e n t ) O b j e c to b j e c t =event . g e t S o u r c e ( ) ; 江(o b j e c t == m u S i i d e r ) m u S l i d e ra c t i o n P e r l o r m e d ( e v e n t ) ; s i g u m a S J i d e r ) e l s ei f( o b j配 t== s i g u m a S i i d e r _ a c t i o n P e r f o r m e d ( e v e n t ) ; v o i dm u S i i d ぽ _a c t i o n P e r l o r m e d f j a v a . a w t . e v e n t . A c t i o n E v e n te v e n t ) //{{CONNECTION 凶n g . v a l u e O f ( ( d o u b l e ) m u S i i d e r . g e t V a l u e ( ) / 1 0 . 0 ) ) ; m u T e x t . s e t T e x t ( S / / } } v o i ds i g u m a S J i d e r _ a c t i o n P e r f o r m e d f j a v a . a w t . e v e n t . A c t i o n E v e n te v e n t ) //{{CONNECTION s i g u m a T e x t . s e t T e x t ( S 甘i n g . v a lu e O f (( d o u b l e ) s i g u m a S l i d e r . g e tV a l u e ( ν 1 0 . 0 ) ) ; / / } } i n tf l a g s d = 2 ; d o u b l emusd=0.2; d o u b l es i g u m a s d = 0 . 5 ; p u b l i cv o i ds e t ( ) { i f ( n o r m a I B u t t o n . g e t S t a t e ( ) == t r u e ) f l a g s d =1 ; i f ( r a n d o m w a l k B u t t o n . g e t S t a t e ( )==t r u e ) f l a g s d=2 ; f l a g 叫= 4 ; i f ( b o n d B u t t o n . g e t S t a t e ( ) ==町田) i f ( f l a g s d >1 ) { m u s d = D o u b l e . v a l u e O f ( m u T e x t . g e t T e x t ( ) ) . d o u b l e V a l u e ( ) ; i f ( m u s d >1 ) { musd=l.O; m u T e x t . s e t T e x t ( "1 . 0 " ' ) ; ( ぜmusd<・ 1 ) { musd・ =1 . 0 ; m u T e x t . s e t T e x t( ” −1 . 0” } ; sigumasd=D o u b l e . v a l u e O f ( s i g u m a T e x t . g e t T e x t ( )) . d o u b l eV a l u e ( ) ; i f ( s i g u m a s d > 2 ) { s i g u m a s d = 2 . 0 ; 田t . s e t T 回 t ”2 (” ) ; sigumaT } i f ( s i g u m a s d<O ) { s i g u m a s d=0 . 0 ; sigumaT 回 t . s e t T e x t ”0 (" ) ; -190- 統計教育のためのランダムウオークアプレットについて e l s e { musd=O; sigumasd=1 ; } r a n d o m C a n v a s . s e t ( f l a g s d , m u s d , s i g u m a s d ) ; I Iランダムウオーク c l a s sRandomCanvase x t e n d sC a n v a s { i n tf l a g = 2 ; d o u b l emu=02; d o u b l es i g u m a = 0 . 5 ; p u b l i cRandomCanvas(){ } p u b l i cv o i ds e t ( i n tf l a g , d o u b l em u , d o u b l es i g u m a ) { t h i s . f l a g = f l a g ; this.mu=mu; t h i s . s i g u m a=s i g u m a ; n t ( ) ; r e凹 i I I 乱数部分の描画 p u b l i cv o i dp a i n t ( G r a p h i c sg ) { 出 ; i n tw i d t h = s i z e ( ) . w i d i n th e i g h t = s i z e ( ) . h e i g h t ; i n tc o u n t e r , i , n n , m , x O , y O O , x l , x o r i g i n , y o r i g i n , x w , y h ; i n tx r O 0 , x r l ; d o u b l ex , y , f , y O , y l , y l O , y l l , y r O , y r l , d x , d y O , d y l , t ふ m回 n , s 伺 l e , S T P ; d o u b l ee l s 託n tr[]=newd o u b l e [ 3 0 ] ; d o u b l eclssO=newd o u b l e [ 3 0 ] ; D a t edate=newD a t e ( ) ; Randomr a n d o m ; m=lOOO; nn=lO; 江( m > w i d t h )m = w i d t h ; random=newR a n d o m ( d a t e . g e t T i m e ( ) ) ; 。 ” , c l s s [ O] = ー3 . 5 ; c l s s c n t r [ 0 ] = 0 . 0 ; c l s s [ n n ]=3 . 5 ; 也= 7 . 0 / ( d o u b l e ) n n ; x w = ( i n t ) ( ( d o u b l e ) w i d 山/ 2 . 0 d / ( d o u b l e ) n n ) ; . 0 d 1 0 . 0 ’ )Math.sqrt(2.0d’ Ma 此P l ) ) ; yh=( i n t ) ( ( ( d o u b l e ) h e i g h tワ.倒/4 f o r ( i=l ; i<=nn ・1 ; ++ i )c l s s [ i ] = c l s s [ i . 1 ] + d x ; c o u n t e r = l ; s = 0 . 0 ; mean=O.O; xO=lO; t = 0 . 2 5 ; 民a l e = l ; グi f ( f l a g == 4 ) s c a l e =1 ; STP=( d o u b l e ) h e i g h凶3 . 0 * 8 . 0 * 3 . 5 * s α l e ) ; dyO=1 . 0 ; y O = ( d o u b l e ) h e i g h t * 7 . 0 c V 8 . 0 d ; y O O = ( i n t ) y O ; yrO=yrl= ( d o u b l e ) h e i g h t * O . S * ( m u+1 . 0 ・ )1 0 . 0 * m u ; ) ( 戸O+dyOS T P ) ; y r O O = ( i n t d x=( d o u b l e ) w i d t h / ( d o u b l e ) m ; y ! O = y l l= ( d o u b l e ) y r O O +M a t h . l o g ( d y O)刊 e i g h ν( 3 . 0 * 8 . 03 . 5 * s c a l e ) ; i f ( f l a g >1 ) { g . s e t C o l o r ( C o l o r. r e d ) ; g . d r a w L i n e ( 8 , y r 0 0 , 1 2 , y r 0 0 ) ; ・ ・ -191- g . d r a w S凶 ng ” (O , ”I , 戸 。 。 ) ; g . d r a w S出 n g (” 2 5 " , l, 戸0 0 2 5 * ( i n t ) ( S T P ) ) ; g . d r a w S 凶n g (”50 , ”l , y r O O ・ 50 ( ・i n t ) ( S T P ) ) ; 出n g ( − ”5 0 " , l♂00+50 ( ・i n t } ( S T P ) } ; g .企awS g . 合 awS 凶n g ( − ”2 5 , ”l ,戸。。+ 25 ( 傘i n t ) ( S T P ) ) ; g . s e t C o l o r ( C o l o r . g r a y ) ; g . 世a w L i n e ( x O , ( i n t ) y O , w i d t h , ( i n t ) y O ) ; g . d r a w L i n e ( x O , h e i g h t , x 0 , 0 ) ; i f ( f l a g < 3 )g . 的 w Line(xO ,戸∞,叩d 出♂∞); i = l ; 1 戸OO+i<= h e i g h t ) { w h i l e ( y r O O i >=O 1 x=i%10; y=i%25; ( 江x==O){ g . s e t C o l o r ( C o l o r . w h i t e ) ; ( 江y== O ) g . s e t C o l o r ( C o l o r . l i g h t G r a y ) ; g . d r a w L i n e ( x 0 1 , y r O O i , w i d山,戸0 0 i ) ; g . d r a w L i n e ( x 0 1 , y r O O + i , w i d t h , y r O O + i ) ; } i = i + l ; i = l ; w h i l e ( i <= w i d t h ) { x=i%10; y=i%25; i f ( x = = O ) { g . s e t C o l o r ( C o l o r . w h i t e ) ; i f ( y==O ) g . s e t C o l o r (C o l o r . l i g h tG r a y ) ; g . d r a w L i n e ( x O + i , h e i g h t 1 , x O + i , 0 ) ; } i=i+l; ( 江f l a g < 2 ) { g . s e t C o l o r ( C o l o r . g r a y ) ; g . d r a w L i n e ( x O , ( i n t ) y O , w i d t h , ( i n t ) y O ) ; g . d r a w L i n e ( x O , h e i g h t , x O , ( i n t ) ( ( d o u b l e ) h e i g h t勺 . 0 / 4 . 0 ) ) ; ・ )1 0 , x O ρ; ) g . d r a w L i n e ( x O , ( i n t ) ( ( d o u b l e ) h e i g h t * 3 . 0 / 4 . 0 g . s e t C o l o r ( C o l o r . b l a c k ) ; 凶 ng (”回数は”+ S凶 n g . v a l u e O f ( w i d t h) + ” , . . 1 t = 0 . 2 5です。”,wid 出/ 2 + 2 0 , 4 0 ) ; g . d r a w S w h i l e ( c o u n t e r <=m) { ( 江f l a g >1 )x = r a n d o m . n e x t G a u s s i a n ( ) ; e l s ex=r a n d o m . n e x t G a u s s i a n O句 iguma+mu; s+=xx ; ロ 1ean+=x; xl= x O + ( i n t ) d x ; ( 江f l a g >I ) { y l= ( d o u b l e ) y O O x * S T P ; i f ( f l a g > 2 ) { 事t +siguma•x•Ma出.s午t(t)・ dyO; dyl=dyO+mu・dyO y r l=( d o u b l e ) y r O O d y1 ’ STP; i f ( y r l> h e i g h t ) y r l= ( d o u b l e ) h e i g h t+1 . 0 ; ( 江y r l<0) y r l・ =1 . 0 ; dyO=dyl; i f ( f l a g ==4){ 汽 +s i g u m a * x * M a t h . s q r t ( t ) ; d y l = ( m u 0 . S * s i思1ma*siguma) y l1= y l O d y l*STP; g . s e t C o l o r ( C o l o r . m a g e n t a ) ; ・ -192- 統計教育のためのランダムウオークアプレットについて g . d r a w L i n e ( x O , ( i n t ) y l O , x l , ( i n t ) y l l ) ; y l O = y l l ; ( ・mt 』町+ s i g u m a * x * M a t h . s q r t ( t))汚TP; e l s eyrl=yrO ・mu )汚T P; e l s ey l=( d o u b l e ) y O O ( x i f ( f l a g >1 )g . s e t C o l o r ( C o l o r . b l u e ) ; e l s eg . s e t C o l o r ( C o l o r . g r a y ) ; i f ( f l a g >l ) { g . d r a w L i n e ( x O , ( i n t ) y r O , x l , ( i n t ) y r l ) ; y r O = y r l ; i f ( f l a g < 3 ) { g . 世司w L i n e ( x O , ( i n t ) y O , x l , ( i n t ) y l ) ; yO=yl; xO=xl; i f ( x < c l s s [ l ] ) c l s s c n t r [ l ]+=l ; 2;++i){ f o r ( i=l ; i<=nn・ 江 ( (c l s s [ i ) <=x)&& ( x < c l s s [ i+1 ) ) )c l s s c n t r [ i+l ]+=1 ; i f ( x >= c l s s [ n n l ] ) c l s s 印 t r [ n n ] + = l ; counter+=1 ; m回 n / = ( d o u b l e ) m ; ) ; s/=(doubleXm・l s = ( ( d o u b l e ロ )l / ( d o u b l e ) ( m 1) ) ・ mean ’ mean; s = M a t h . s q r t ( s ) ; x O = x o r i g i n=1 0 ; yO=( d o u b l e ) h e i g h t* 3 . 0 d / 4 . 0 d 1 0 . 0 ; y o r i g i n = ( i n t ) y O ; i f( f l a g < 2 ) { f o r ( i = l ; i < = n n ; + + i ){ c l s s c n t r [ i : V = ( d o u b l e ) m ; g . s e t C o l o r (C o l o r. g r ョ y ) ; g . 合CIWR e c t ( x O , ( i n t ) ( y O c l s s c n t r [ i) * y h ) , x w, ( i n t ) ( c l s s c n t r [ i] ・ (d o u b l e ) y h ) ) ; xO+=xw; //標準正規密度関数 . 倒/ M a t h . s q r t ( 2 * M a 出. P l ) ; f=1 xw*=nn; x w n . o ; 也= xO=xorigin=1 0 ; y O = ( d o u b l e ) y o r i g i n ; f o r(xl=-xw/2;xl<=xw/2;++ x l ) { x = ( d o u b l e ) x ν d x ; y=( d o u b l e ) y o r i g i n y h*f*Ma 山. e x p ( x * x / 2 . 0 d) ホ (7 . 0 / n n ) ; g . s e t C o l o r ( C o l o r . g r 可 ) ; g . d r a w L i n e ( x O , ( i n t ) y O , x l+xw/2+1 0 , ( i n t ) y ) ; xO=xl+xw/2+1 0 ; yO=y; g . s e t C o l o r ( C o l o r . b l a c k ) ; i f( f l a g < 2 ) { g . d r a w S凶 ng (”平均:”+ S凶 n g . v a l u e O f ( m回 n ) , 2 0 , 2 0 ) ; g . d r a w S凶 ng(”標準備差:”+ S凶 n g .v a l u e O f ( s ) , 2 0 , 3 5 ) ; e l s e { 江 (f l a g = = 2 ) { -193ー g . d r a w S凶n g (”平均:”+ S t r i n g . v a l u e O f ( m e a n ) , l l , h e i g h t 1 0 ) ; g(”標準偏差:”+ S 凶n g . v a l u e O f ( s) 川i d 出/ 2 , h e i g h t 1 0 ) ; g . d r a w S凶 n e l s e { g . s e t C o l o r ( C o l o r . b l u e ) ; g ” (S o : : ;l , S ( t + L 1 t ) : : : ; S t + μ ・ S t ・ L 1 t+o ・ z ・ S t ・ ( . {L 1 t )”川d 山/ 2・ 加 ,5 5 ) ; g . d r a w S凶 n g . s e t C o l o r ( C o l o r . m a g e n t a ) ; g . d r ョ wS凶 n g( ’ 'L o : : : ; O ,L ( t + L 1 t ) : : : ; L t+い.ν 2 ・ o ・ o ) . : : l t + o ・ z ・ ( . {L 1 t ) ” ,w i d 出 /2 ・ 8 0 , 7 0 ) ; -194ー