差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
r:markovchain [2018/12/12 23:55] – [マルコフ連鎖のための統計的推測] watalur:markovchain [2018/12/17 11:47] (現在) watalu
行 7: 行 7:
   * [[https://cran.r-project.org/web/packages/markovchain/vignettes/markovchainCrashIntro.pdf|Crash introduction ]]   * [[https://cran.r-project.org/web/packages/markovchain/vignettes/markovchainCrashIntro.pdf|Crash introduction ]]
   * [[https://cran.r-project.org/web/packages/markovchain/vignettes/an_introduction_to_markovchain_package.pdf|An introduction]]   * [[https://cran.r-project.org/web/packages/markovchain/vignettes/an_introduction_to_markovchain_package.pdf|An introduction]]
 +
 +このパッケージはR 3.5.0以上を必要とする。各自でダウンロードしてインストールする必要があるかもしれない。
  
 === マルコフ解析 === === マルコフ解析 ===
行 41: 行 43:
 </code> </code>
  
-<code> 
-mcList <- new("markovchainList", markovchains = list(mcWeather, defaultMc), 
- name = "A list of Markov chains") 
-</code> 
  
 === markovchainのメソッド === === markovchainのメソッド ===
行 136: 行 134:
 </code> </code>
  
 +関数statesはマルコフ連鎖のオブジェクトmcWeatherの中の状態の一覧を表示させる。
 <code> <code>
 states(mcWeather) states(mcWeather)
 </code> </code>
  
 +関数namesもstatesと同じ動作をする。
 <code> <code>
 names(mcWeather) names(mcWeather)
 </code> </code>
  
 +関数dimは状態数を返す。
 <code> <code>
 dim(mcWeather) dim(mcWeather)
 </code> </code>
  
 +関数nameはマルコフ連鎖の名前を返す。これはnewで作成するときにつけている。
 <code> <code>
- name(mcWeather)+name(mcWeather)
 </code> </code>
  
行 279: 行 278:
 <code> <code>
 table(data.frame(before=rain$rain[-1], after=rain$rain[-length(rain$rain)])) table(data.frame(before=rain$rain[-1], after=rain$rain[-length(rain$rain)]))
 +</code>
 +
 +出力は次の通り。
 +
 +<code>
 +      after
 +before   0 1-5  6+
 +     362 136  50
 +   1-5 126  90  79
 +   6+   60  68 124
 </code> </code>
  
行 299: 行 308:
  
 {{:r:rain-transitionplot.png|}} {{:r:rain-transitionplot.png|}}
 +
 +<code>
 +library(dplyr)
 +library(stringr)
 +library(DiagrammeR)
 +library(networkD3)
 +</code>
 +
 +この準備で頑張ると、[[https://kazutan.github.io/kazutanR/koneta_state_trans_viz.html|こんな]]グラフも描けるらしい。
  
 この推移から、遷移行列を推定する。 この推移から、遷移行列を推定する。
行 372: 行 390:
 <code> <code>
 mcrain = rain.mcfit$estimate mcrain = rain.mcfit$estimate
 +</code>
 +
 +
 +<code>
 +rain.mcfit <- markovchainFit(rain$rain, method="laplace", laplacian=0.5, byrow=TRUE)
 </code> </code>