Getting Starts JAGS

  • 싸이그래머 인지모델링 스터디 : 베이지안 파트
  • 김슬

이번 시간의 Objects

  • JAGS가 뭔지 알게 됩니다.
  • JAGS가 다른 MCMC를 돌리는 놈들과 뭐가 다른지 알게 됩니다.
  • JAGS를 설치합니다.
  • 간단한 JAGS프로그램을 작성해봅니다.
  • R과 연동해 R에서 JAGS를 돌려봅니다.
  • JAGS의 실행결과를 R에서 읽어봅니다.

이번 시간의 Requirements

  • 베이지안 통계와 MCMC 가 뭔지 압니다. (지난 시간으로 채워졌다 들었습니다ㅋ)
  • 아직 저주 내리지 않은 컴퓨터

What is JAGS?

프로그램으로 MCMC를 돌리려다 보면 많은 반복되는 작업이 필요
-> 중복을 줄이고 핵심만 짜자!
   BUGS탄생
   S언어와 비슷한 문법 (그래서 S따라 만든 R과도 비슷)

   그런데 BUGS는 윈도우에서만 돌잖아?
   -> JAGS탄생
      Linux, Mac, Window 가리지 않고 잘 돔

BUGS vs JAGS vs STAN vs 쌩코드

쌩코드

  • 불필요한 반복과 노가다가 많음
  • 상대적으로 느린 성능
  • 잘 돌지 확신할 수 없음..

BUGS

  • WinBUGS에서 사용하는 언어
  • 쌩코드 보다는 간편함
  • 쌩코드 보다는 빠름
  • 많은 리소스 (기존 코드, 문서)
  • 윈도우에서만 돌아감

STAN

  • 상대적으로 새로나온 떠오르는 아이
  • 좀 더 편한 표현
  • 상대적으로 부족한 리소스
  • 언젠가는 이쪽이 더 많아지지 않을까?

JAGS **

  • BUGS와 비슷한 문법. 기존의 BUGS의 리소스들을 활용할 수 있음.
  • 무료
  • 플랫폼 독립적 (윈도우, 리눅스, 맥 모두 돌릴 수 있음)

우리는 JAGS를 합니다.

설치

JAGS

Mac (brew)

  • brew install jags

Mac (Binary)

Linux (Ubuntu)

  • apt-get install jags

Windows

rjags (R에서 jags를 사용하기 위한 라이브러리)


In [ ]:
install.packages('rjags')

첫번째 프로그램

JAGS를 돌리기 위해선 3가지가 필요

  • 모델
  • 데이터
  • 초기값

하지만 우리는 JAGS에서 모델만 사용(데이터와 초기값은 R에서 셋팅)

모델의 정의


In [ ]:
model {
    # Likelihood
    for (i in 1:N) {
        Y[i] ~ dbern(theta)
    }

    # Prior
    theta ~ dbeta(3, 3)
}

model {} 로 감싸여있음

  • Likelihood 랑
  • Pirior Distribution 를 정의함

Data Loop

일반적인 Foreach 문


In [ ]:
for(i in 1:N) {
    ...
}

기호 <-

R이나 S랑 똑같음

기호 ~

~는 분포에서 랜덤한 값 하나를 가져와 넣겠단 의미


In [ ]:
Y[i] ~ dbern(theta)  # Y[i]에 dbern(theta)를 시행한 랜덤값 하나를 넣겠다는 의미

주요 분포들

  • Bernoulli: dbern(p)
  • Binomial: dbin(p, n)
  • Negative Binomial: dnegbin(p, r)
  • Categorical: dcat(p)
  • Poisson: dpois(lambda)

  • Normal: dnorm(mu,1/sigma^2)

  • Gamma: dgamma(alpha, lambda)
  • Uniform: dunif(a, b)

첫번째 실행

엄청 불편함

  1. 라이브러리 불러옴
  2. 문자열로 모델을 정의
  3. ????
  4. PROFIT!!

라이브러리 로딩


In [2]:
options(warn=-1)

In [3]:
library(rjags)

모델을 문자열로 넣고


In [4]:
simpleModelString = "
    model {
        for (i in 1:N) {
            Y[i] ~ dbern(theta)
        }
        theta ~ dbeta(1, 1)
    }
"

모델 Initialize


In [5]:
m = jags.model(
    textConnection(simpleModelString),
    data = list(
        Y = c(1, 0, 0, 1, 1),
        N = 5
    )
)


Compiling model graph
   Resolving undeclared variables
   Allocating nodes
   Graph Size: 8

Initializing model

※ : 책에선 파일로 쓴 다음 읽어오는 방식 사용중. 정말 원하면 그렇게 해도 됨.


In [6]:
## 정말 원한다면 먼저 파일로 쓰고 파일에서 불러와도 됨
# writeLines(simpleModelString, con="simple.jags")
# m2 = jags.model("simple.jags", ...)

시행!


In [7]:
samples = coda.samples(m, c("theta"), 1000)

결과


In [8]:
samples


Out[8]:
[[1]]
Markov Chain Monte Carlo (MCMC) output:
Start = 1 
End = 1000 
Thinning interval = 1 
             theta
   [1,] 0.68700588
   [2,] 0.51548627
   [3,] 0.75667543
   [4,] 0.67327145
   [5,] 0.51083807
   [6,] 0.72850366
   [7,] 0.43645907
   [8,] 0.57342133
   [9,] 0.68946534
  [10,] 0.48829095
  [11,] 0.57228869
  [12,] 0.77037121
  [13,] 0.67284018
  [14,] 0.55962484
  [15,] 0.54224749
  [16,] 0.68475665
  [17,] 0.43454456
  [18,] 0.43412345
  [19,] 0.49356663
  [20,] 0.56620476
  [21,] 0.78362389
  [22,] 0.45539776
  [23,] 0.90318050
  [24,] 0.58282430
  [25,] 0.35685945
  [26,] 0.65721144
  [27,] 0.45634794
  [28,] 0.51080992
  [29,] 0.56446209
  [30,] 0.30178425
  [31,] 0.61317964
  [32,] 0.71861099
  [33,] 0.54320619
  [34,] 0.54080302
  [35,] 0.59992713
  [36,] 0.36606554
  [37,] 0.41787129
  [38,] 0.69376818
  [39,] 0.64023605
  [40,] 0.47983679
  [41,] 0.71759826
  [42,] 0.66750709
  [43,] 0.61908532
  [44,] 0.43473779
  [45,] 0.48441932
  [46,] 0.62845689
  [47,] 0.69397766
  [48,] 0.30426934
  [49,] 0.81439244
  [50,] 0.58169464
  [51,] 0.85579024
  [52,] 0.76409381
  [53,] 0.60629624
  [54,] 0.65408160
  [55,] 0.46226688
  [56,] 0.52636472
  [57,] 0.43349403
  [58,] 0.71296845
  [59,] 0.63863267
  [60,] 0.71412407
  [61,] 0.54963296
  [62,] 0.50853463
  [63,] 0.74966996
  [64,] 0.57559118
  [65,] 0.66327780
  [66,] 0.81957401
  [67,] 0.32239173
  [68,] 0.48736940
  [69,] 0.39837579
  [70,] 0.77556176
  [71,] 0.74893509
  [72,] 0.40405969
  [73,] 0.43603339
  [74,] 0.61405917
  [75,] 0.71498127
  [76,] 0.18043498
  [77,] 0.59908002
  [78,] 0.74047082
  [79,] 0.57239125
  [80,] 0.53541583
  [81,] 0.64634265
  [82,] 0.47366712
  [83,] 0.24778111
  [84,] 0.56644869
  [85,] 0.27381678
  [86,] 0.38930583
  [87,] 0.60991085
  [88,] 0.79910789
  [89,] 0.72503065
  [90,] 0.36428012
  [91,] 0.53629274
  [92,] 0.69282440
  [93,] 0.74771622
  [94,] 0.49981898
  [95,] 0.38672639
  [96,] 0.75541318
  [97,] 0.42996657
  [98,] 0.73682979
  [99,] 0.46649625
 [100,] 0.55786913
 [101,] 0.58370911
 [102,] 0.64938007
 [103,] 0.33470936
 [104,] 0.69546286
 [105,] 0.75747529
 [106,] 0.82755233
 [107,] 0.56478311
 [108,] 0.64241444
 [109,] 0.72728119
 [110,] 0.70400612
 [111,] 0.61124357
 [112,] 0.83026691
 [113,] 0.54089243
 [114,] 0.70715026
 [115,] 0.73796579
 [116,] 0.71402516
 [117,] 0.32423544
 [118,] 0.70650110
 [119,] 0.51676940
 [120,] 0.69878804
 [121,] 0.38699613
 [122,] 0.34439266
 [123,] 0.73668390
 [124,] 0.55904808
 [125,] 0.55333167
 [126,] 0.68089436
 [127,] 0.62944586
 [128,] 0.76561173
 [129,] 0.72806522
 [130,] 0.73617732
 [131,] 0.35439268
 [132,] 0.83308627
 [133,] 0.42577676
 [134,] 0.43296189
 [135,] 0.75650922
 [136,] 0.75533308
 [137,] 0.28938924
 [138,] 0.43080030
 [139,] 0.50591540
 [140,] 0.40717521
 [141,] 0.34016123
 [142,] 0.32143170
 [143,] 0.66262645
 [144,] 0.53198638
 [145,] 0.45917034
 [146,] 0.82232226
 [147,] 0.82348840
 [148,] 0.29280682
 [149,] 0.74695763
 [150,] 0.75261124
 [151,] 0.47390732
 [152,] 0.60603660
 [153,] 0.77684125
 [154,] 0.33580271
 [155,] 0.59182329
 [156,] 0.70250552
 [157,] 0.57482537
 [158,] 0.66306402
 [159,] 0.67034767
 [160,] 0.24304176
 [161,] 0.28773159
 [162,] 0.40086581
 [163,] 0.48436008
 [164,] 0.56077157
 [165,] 0.67300165
 [166,] 0.52315500
 [167,] 0.49770528
 [168,] 0.63670184
 [169,] 0.74899809
 [170,] 0.66960993
 [171,] 0.46928654
 [172,] 0.24366223
 [173,] 0.79079793
 [174,] 0.62512713
 [175,] 0.62024213
 [176,] 0.84832680
 [177,] 0.39870355
 [178,] 0.28068117
 [179,] 0.51877017
 [180,] 0.35444597
 [181,] 0.55124103
 [182,] 0.65686746
 [183,] 0.39975991
 [184,] 0.60582328
 [185,] 0.24054364
 [186,] 0.62070724
 [187,] 0.34400451
 [188,] 0.83995283
 [189,] 0.49691961
 [190,] 0.79748289
 [191,] 0.28807259
 [192,] 0.84295674
 [193,] 0.46236297
 [194,] 0.88913915
 [195,] 0.45300267
 [196,] 0.63231146
 [197,] 0.68677774
 [198,] 0.69920806
 [199,] 0.50970392
 [200,] 0.63990814
 [201,] 0.63904298
 [202,] 0.23441945
 [203,] 0.41311398
 [204,] 0.66570341
 [205,] 0.39131269
 [206,] 0.74582179
 [207,] 0.50993711
 [208,] 0.36494202
 [209,] 0.65957463
 [210,] 0.62295763
 [211,] 0.68440807
 [212,] 0.64994216
 [213,] 0.57120823
 [214,] 0.20358427
 [215,] 0.34558109
 [216,] 0.76552747
 [217,] 0.39896445
 [218,] 0.68542623
 [219,] 0.57514195
 [220,] 0.32140094
 [221,] 0.52249851
 [222,] 0.66604223
 [223,] 0.29751032
 [224,] 0.95478661
 [225,] 0.82018758
 [226,] 0.76005410
 [227,] 0.84800343
 [228,] 0.38124110
 [229,] 0.47485450
 [230,] 0.75571335
 [231,] 0.46268231
 [232,] 0.84961310
 [233,] 0.45713051
 [234,] 0.50761766
 [235,] 0.54764362
 [236,] 0.56261621
 [237,] 0.42161917
 [238,] 0.56017552
 [239,] 0.65576673
 [240,] 0.16402245
 [241,] 0.59090809
 [242,] 0.39517172
 [243,] 0.68960526
 [244,] 0.77156501
 [245,] 0.57480734
 [246,] 0.83306113
 [247,] 0.69388571
 [248,] 0.42943532
 [249,] 0.29666086
 [250,] 0.72360988
 [251,] 0.27225498
 [252,] 0.21328647
 [253,] 0.58986916
 [254,] 0.57243626
 [255,] 0.89445948
 [256,] 0.32949293
 [257,] 0.46036557
 [258,] 0.48085083
 [259,] 0.66867410
 [260,] 0.78926060
 [261,] 0.38880412
 [262,] 0.75845374
 [263,] 0.59941314
 [264,] 0.72058437
 [265,] 0.42944646
 [266,] 0.55799228
 [267,] 0.28034394
 [268,] 0.32116375
 [269,] 0.62317480
 [270,] 0.53328104
 [271,] 0.73192972
 [272,] 0.61915745
 [273,] 0.33877255
 [274,] 0.79627655
 [275,] 0.67684308
 [276,] 0.27161291
 [277,] 0.45909534
 [278,] 0.56422637
 [279,] 0.39390766
 [280,] 0.46643095
 [281,] 0.64426161
 [282,] 0.48335931
 [283,] 0.45440368
 [284,] 0.72584077
 [285,] 0.68918638
 [286,] 0.50757475
 [287,] 0.42473636
 [288,] 0.75164100
 [289,] 0.76828480
 [290,] 0.18542742
 [291,] 0.59613868
 [292,] 0.57112283
 [293,] 0.81546202
 [294,] 0.60367646
 [295,] 0.64808596
 [296,] 0.55702349
 [297,] 0.54004241
 [298,] 0.55940259
 [299,] 0.56771407
 [300,] 0.65001971
 [301,] 0.77781875
 [302,] 0.77606576
 [303,] 0.54090540
 [304,] 0.38656686
 [305,] 0.48492879
 [306,] 0.64997386
 [307,] 0.39918646
 [308,] 0.52073205
 [309,] 0.75298114
 [310,] 0.46979898
 [311,] 0.59132625
 [312,] 0.17737194
 [313,] 0.72041690
 [314,] 0.63598323
 [315,] 0.57943003
 [316,] 0.26353962
 [317,] 0.20547906
 [318,] 0.84097921
 [319,] 0.78104745
 [320,] 0.71382781
 [321,] 0.45788925
 [322,] 0.75266932
 [323,] 0.22691224
 [324,] 0.64991585
 [325,] 0.27068198
 [326,] 0.72248605
 [327,] 0.63771233
 [328,] 0.40999487
 [329,] 0.27219663
 [330,] 0.70913221
 [331,] 0.88473861
 [332,] 0.46421134
 [333,] 0.54672815
 [334,] 0.61607890
 [335,] 0.70265979
 [336,] 0.46619796
 [337,] 0.81088224
 [338,] 0.76574091
 [339,] 0.64896452
 [340,] 0.25936865
 [341,] 0.70021237
 [342,] 0.44142491
 [343,] 0.79597878
 [344,] 0.33881023
 [345,] 0.81369434
 [346,] 0.58320321
 [347,] 0.64859929
 [348,] 0.52718507
 [349,] 0.46645913
 [350,] 0.59788884
 [351,] 0.69091905
 [352,] 0.81874709
 [353,] 0.84567643
 [354,] 0.60429306
 [355,] 0.60364421
 [356,] 0.76984789
 [357,] 0.58974279
 [358,] 0.53687431
 [359,] 0.19942694
 [360,] 0.53617530
 [361,] 0.91420861
 [362,] 0.81294857
 [363,] 0.89358720
 [364,] 0.59848287
 [365,] 0.58959681
 [366,] 0.73181422
 [367,] 0.44236189
 [368,] 0.65742299
 [369,] 0.73594759
 [370,] 0.54432970
 [371,] 0.59203321
 [372,] 0.41309624
 [373,] 0.61062965
 [374,] 0.30950136
 [375,] 0.72919965
 [376,] 0.78831179
 [377,] 0.57935331
 [378,] 0.71201741
 [379,] 0.52226102
 [380,] 0.09660172
 [381,] 0.82507613
 [382,] 0.43663859
 [383,] 0.56333033
 [384,] 0.68326563
 [385,] 0.81780584
 [386,] 0.35614245
 [387,] 0.77170861
 [388,] 0.57464810
 [389,] 0.61377481
 [390,] 0.31693668
 [391,] 0.56324100
 [392,] 0.62019309
 [393,] 0.42543521
 [394,] 0.37523844
 [395,] 0.61224836
 [396,] 0.80963926
 [397,] 0.65837864
 [398,] 0.84503986
 [399,] 0.77703056
 [400,] 0.59239227
 [401,] 0.40223466
 [402,] 0.85595805
 [403,] 0.30719052
 [404,] 0.62224933
 [405,] 0.68244483
 [406,] 0.60200941
 [407,] 0.58960855
 [408,] 0.55308861
 [409,] 0.78715602
 [410,] 0.46150394
 [411,] 0.87618695
 [412,] 0.35940838
 [413,] 0.60779083
 [414,] 0.76795914
 [415,] 0.29211554
 [416,] 0.62210130
 [417,] 0.84083181
 [418,] 0.43813559
 [419,] 0.54520638
 [420,] 0.64805331
 [421,] 0.59946605
 [422,] 0.54634048
 [423,] 0.55959665
 [424,] 0.49791041
 [425,] 0.57698373
 [426,] 0.79779392
 [427,] 0.83968662
 [428,] 0.44032932
 [429,] 0.29141507
 [430,] 0.09483617
 [431,] 0.29593711
 [432,] 0.67394933
 [433,] 0.78823183
 [434,] 0.50563987
 [435,] 0.60142487
 [436,] 0.60636623
 [437,] 0.52868274
 [438,] 0.83914583
 [439,] 0.40084960
 [440,] 0.52560684
 [441,] 0.54312201
 [442,] 0.38705834
 [443,] 0.40510740
 [444,] 0.75373760
 [445,] 0.63581982
 [446,] 0.62904539
 [447,] 0.66217239
 [448,] 0.77943225
 [449,] 0.49152133
 [450,] 0.74902860
 [451,] 0.60905467
 [452,] 0.77387652
 [453,] 0.42604503
 [454,] 0.58450590
 [455,] 0.32236029
 [456,] 0.38679328
 [457,] 0.34382106
 [458,] 0.64752109
 [459,] 0.26702669
 [460,] 0.57836537
 [461,] 0.89312986
 [462,] 0.59336122
 [463,] 0.50508636
 [464,] 0.75880688
 [465,] 0.42800598
 [466,] 0.59586202
 [467,] 0.33513047
 [468,] 0.57385188
 [469,] 0.50599436
 [470,] 0.31189167
 [471,] 0.42734791
 [472,] 0.75300838
 [473,] 0.87821081
 [474,] 0.64890648
 [475,] 0.25146635
 [476,] 0.41208117
 [477,] 0.64984848
 [478,] 0.22809189
 [479,] 0.45787220
 [480,] 0.65493152
 [481,] 0.29610816
 [482,] 0.79518829
 [483,] 0.73679818
 [484,] 0.65200848
 [485,] 0.66950174
 [486,] 0.68674215
 [487,] 0.73823274
 [488,] 0.84627156
 [489,] 0.48288022
 [490,] 0.59887595
 [491,] 0.61764909
 [492,] 0.51453696
 [493,] 0.73136292
 [494,] 0.53038608
 [495,] 0.50304245
 [496,] 0.55707140
 [497,] 0.57709154
 [498,] 0.58433613
 [499,] 0.40237862
 [500,] 0.27909355
 [501,] 0.39089205
 [502,] 0.75714555
 [503,] 0.50450957
 [504,] 0.55388295
 [505,] 0.59001410
 [506,] 0.51993873
 [507,] 0.74127918
 [508,] 0.79573332
 [509,] 0.55649107
 [510,] 0.52548729
 [511,] 0.59775528
 [512,] 0.51225268
 [513,] 0.59861931
 [514,] 0.84206924
 [515,] 0.51929393
 [516,] 0.61653535
 [517,] 0.38300487
 [518,] 0.85406205
 [519,] 0.62934304
 [520,] 0.82096683
 [521,] 0.49724556
 [522,] 0.50726532
 [523,] 0.40688977
 [524,] 0.57402964
 [525,] 0.81280172
 [526,] 0.30432495
 [527,] 0.44371870
 [528,] 0.32209460
 [529,] 0.13232010
 [530,] 0.66589339
 [531,] 0.60053011
 [532,] 0.44336270
 [533,] 0.33859421
 [534,] 0.79231469
 [535,] 0.64952507
 [536,] 0.50017171
 [537,] 0.51701445
 [538,] 0.37233007
 [539,] 0.43564337
 [540,] 0.21090983
 [541,] 0.70315601
 [542,] 0.63123497
 [543,] 0.48241262
 [544,] 0.61562235
 [545,] 0.74551087
 [546,] 0.70288699
 [547,] 0.69000359
 [548,] 0.48897726
 [549,] 0.39853687
 [550,] 0.70632325
 [551,] 0.75034346
 [552,] 0.76483585
 [553,] 0.56163859
 [554,] 0.62964746
 [555,] 0.51875028
 [556,] 0.59163773
 [557,] 0.79073533
 [558,] 0.86713765
 [559,] 0.74352265
 [560,] 0.79858179
 [561,] 0.83228841
 [562,] 0.84527836
 [563,] 0.72484860
 [564,] 0.37959780
 [565,] 0.48888883
 [566,] 0.33144077
 [567,] 0.70428160
 [568,] 0.87908019
 [569,] 0.60397060
 [570,] 0.54207901
 [571,] 0.37818140
 [572,] 0.58735133
 [573,] 0.32481925
 [574,] 0.33941604
 [575,] 0.67315898
 [576,] 0.72319540
 [577,] 0.23423497
 [578,] 0.86537093
 [579,] 0.69842928
 [580,] 0.49520249
 [581,] 0.69685195
 [582,] 0.45386323
 [583,] 0.34648196
 [584,] 0.29266096
 [585,] 0.85913042
 [586,] 0.81414774
 [587,] 0.29758627
 [588,] 0.69186571
 [589,] 0.75549425
 [590,] 0.34601614
 [591,] 0.56292797
 [592,] 0.58914355
 [593,] 0.38434571
 [594,] 0.51633084
 [595,] 0.39995804
 [596,] 0.25811255
 [597,] 0.75606948
 [598,] 0.31605305
 [599,] 0.39655154
 [600,] 0.37789041
 [601,] 0.25526403
 [602,] 0.72242693
 [603,] 0.68290495
 [604,] 0.36891677
 [605,] 0.23675191
 [606,] 0.74605412
 [607,] 0.53761763
 [608,] 0.40920020
 [609,] 0.79990473
 [610,] 0.53434643
 [611,] 0.55202185
 [612,] 0.55411703
 [613,] 0.36752232
 [614,] 0.68080024
 [615,] 0.53421116
 [616,] 0.57785070
 [617,] 0.71621481
 [618,] 0.54285906
 [619,] 0.69619183
 [620,] 0.65413323
 [621,] 0.61890187
 [622,] 0.55409336
 [623,] 0.58442346
 [624,] 0.55341059
 [625,] 0.54588670
 [626,] 0.60204531
 [627,] 0.44977660
 [628,] 0.66460051
 [629,] 0.54349903
 [630,] 0.64005387
 [631,] 0.65022566
 [632,] 0.71693254
 [633,] 0.44103864
 [634,] 0.58414637
 [635,] 0.59721530
 [636,] 0.78461511
 [637,] 0.42734302
 [638,] 0.27748343
 [639,] 0.48398660
 [640,] 0.73455301
 [641,] 0.62081826
 [642,] 0.96910261
 [643,] 0.39252463
 [644,] 0.67725072
 [645,] 0.57347107
 [646,] 0.77986332
 [647,] 0.47641887
 [648,] 0.42964603
 [649,] 0.34594095
 [650,] 0.21854295
 [651,] 0.61868595
 [652,] 0.51014923
 [653,] 0.25969524
 [654,] 0.68088310
 [655,] 0.37812378
 [656,] 0.63727483
 [657,] 0.42990818
 [658,] 0.84980645
 [659,] 0.51296882
 [660,] 0.48723576
 [661,] 0.59908517
 [662,] 0.42354591
 [663,] 0.50326739
 [664,] 0.45752642
 [665,] 0.86338437
 [666,] 0.88353974
 [667,] 0.48387413
 [668,] 0.68305189
 [669,] 0.79974233
 [670,] 0.36034761
 [671,] 0.60503101
 [672,] 0.85049144
 [673,] 0.50386894
 [674,] 0.43728553
 [675,] 0.65735863
 [676,] 0.44736527
 [677,] 0.62184183
 [678,] 0.37706382
 [679,] 0.25470749
 [680,] 0.67825040
 [681,] 0.58108948
 [682,] 0.74730839
 [683,] 0.54108465
 [684,] 0.55890264
 [685,] 0.43871220
 [686,] 0.82694051
 [687,] 0.58518098
 [688,] 0.37844330
 [689,] 0.73050286
 [690,] 0.49953337
 [691,] 0.32928189
 [692,] 0.68592285
 [693,] 0.52059481
 [694,] 0.57184859
 [695,] 0.66556254
 [696,] 0.29901974
 [697,] 0.49807169
 [698,] 0.50461733
 [699,] 0.70123830
 [700,] 0.32345778
 [701,] 0.64753743
 [702,] 0.66394098
 [703,] 0.30468146
 [704,] 0.16279313
 [705,] 0.55828870
 [706,] 0.25577858
 [707,] 0.52277974
 [708,] 0.59645366
 [709,] 0.68983293
 [710,] 0.78616639
 [711,] 0.16049906
 [712,] 0.71215478
 [713,] 0.34541275
 [714,] 0.51024258
 [715,] 0.54125679
 [716,] 0.29496478
 [717,] 0.63888205
 [718,] 0.69898080
 [719,] 0.77254587
 [720,] 0.68838156
 [721,] 0.67840477
 [722,] 0.53157435
 [723,] 0.52297420
 [724,] 0.47746112
 [725,] 0.46377381
 [726,] 0.56428197
 [727,] 0.71321102
 [728,] 0.57484910
 [729,] 0.17338054
 [730,] 0.86401515
 [731,] 0.44991600
 [732,] 0.46538497
 [733,] 0.62203193
 [734,] 0.77346354
 [735,] 0.38026765
 [736,] 0.56354364
 [737,] 0.55523213
 [738,] 0.74261189
 [739,] 0.70779667
 [740,] 0.31154740
 [741,] 0.43917435
 [742,] 0.54788111
 [743,] 0.52457955
 [744,] 0.87755333
 [745,] 0.49554257
 [746,] 0.31824375
 [747,] 0.46809395
 [748,] 0.69390833
 [749,] 0.51485407
 [750,] 0.20234193
 [751,] 0.60339151
 [752,] 0.79152240
 [753,] 0.49165517
 [754,] 0.42087506
 [755,] 0.58443168
 [756,] 0.36499800
 [757,] 0.78441565
 [758,] 0.59073556
 [759,] 0.49530269
 [760,] 0.77927965
 [761,] 0.78577556
 [762,] 0.81703177
 [763,] 0.58376745
 [764,] 0.65645882
 [765,] 0.40738492
 [766,] 0.52831010
 [767,] 0.74268461
 [768,] 0.49074750
 [769,] 0.77187726
 [770,] 0.65908970
 [771,] 0.65430595
 [772,] 0.39162417
 [773,] 0.47547963
 [774,] 0.81698447
 [775,] 0.67695817
 [776,] 0.60394573
 [777,] 0.48368009
 [778,] 0.80433948
 [779,] 0.38646184
 [780,] 0.61236554
 [781,] 0.55387794
 [782,] 0.47931806
 [783,] 0.23115049
 [784,] 0.66444961
 [785,] 0.91411786
 [786,] 0.34052435
 [787,] 0.49755370
 [788,] 0.62636495
 [789,] 0.70111731
 [790,] 0.52008476
 [791,] 0.74186574
 [792,] 0.41373848
 [793,] 0.49096613
 [794,] 0.69655372
 [795,] 0.68358025
 [796,] 0.76292308
 [797,] 0.47508267
 [798,] 0.70265579
 [799,] 0.82159240
 [800,] 0.54689381
 [801,] 0.57151935
 [802,] 0.56853078
 [803,] 0.80386465
 [804,] 0.46699087
 [805,] 0.90399622
 [806,] 0.27321807
 [807,] 0.77712751
 [808,] 0.65360970
 [809,] 0.75346238
 [810,] 0.54370722
 [811,] 0.68404689
 [812,] 0.75354915
 [813,] 0.49759928
 [814,] 0.19724317
 [815,] 0.58037315
 [816,] 0.71106123
 [817,] 0.26418386
 [818,] 0.84124152
 [819,] 0.79998987
 [820,] 0.77919513
 [821,] 0.47497362
 [822,] 0.73073705
 [823,] 0.53732203
 [824,] 0.76723123
 [825,] 0.48728407
 [826,] 0.65995897
 [827,] 0.58270751
 [828,] 0.49420018
 [829,] 0.64611097
 [830,] 0.86464642
 [831,] 0.64529245
 [832,] 0.46459429
 [833,] 0.59612133
 [834,] 0.80962875
 [835,] 0.93470088
 [836,] 0.44932879
 [837,] 0.44949958
 [838,] 0.79462246
 [839,] 0.61904676
 [840,] 0.80803214
 [841,] 0.55526457
 [842,] 0.79100761
 [843,] 0.59351088
 [844,] 0.55172853
 [845,] 0.36483128
 [846,] 0.44874791
 [847,] 0.80127885
 [848,] 0.24471811
 [849,] 0.26651057
 [850,] 0.56250127
 [851,] 0.65971289
 [852,] 0.53880008
 [853,] 0.52780596
 [854,] 0.59504257
 [855,] 0.51814996
 [856,] 0.57246878
 [857,] 0.40259875
 [858,] 0.69127542
 [859,] 0.60479311
 [860,] 0.91065853
 [861,] 0.32609771
 [862,] 0.69513913
 [863,] 0.49750433
 [864,] 0.23932793
 [865,] 0.70233660
 [866,] 0.57518309
 [867,] 0.37409049
 [868,] 0.90644126
 [869,] 0.35607900
 [870,] 0.75472684
 [871,] 0.51116897
 [872,] 0.65511014
 [873,] 0.51181006
 [874,] 0.50040815
 [875,] 0.42993359
 [876,] 0.75551265
 [877,] 0.62767456
 [878,] 0.44259543
 [879,] 0.29706083
 [880,] 0.58340936
 [881,] 0.77822661
 [882,] 0.50909151
 [883,] 0.82609436
 [884,] 0.79418098
 [885,] 0.80016504
 [886,] 0.30238103
 [887,] 0.38958788
 [888,] 0.40003968
 [889,] 0.43306967
 [890,] 0.51873321
 [891,] 0.37012565
 [892,] 0.10009738
 [893,] 0.41443246
 [894,] 0.69910489
 [895,] 0.70353081
 [896,] 0.78333920
 [897,] 0.78706722
 [898,] 0.55365014
 [899,] 0.61267099
 [900,] 0.65745783
 [901,] 0.89263178
 [902,] 0.75167613
 [903,] 0.55652045
 [904,] 0.37458217
 [905,] 0.51913991
 [906,] 0.93937871
 [907,] 0.69102594
 [908,] 0.61388559
 [909,] 0.52744529
 [910,] 0.55876496
 [911,] 0.57237269
 [912,] 0.13364201
 [913,] 0.40510580
 [914,] 0.40576992
 [915,] 0.66999747
 [916,] 0.56557994
 [917,] 0.39943357
 [918,] 0.61512335
 [919,] 0.68423276
 [920,] 0.24616866
 [921,] 0.76420540
 [922,] 0.26340462
 [923,] 0.60749739
 [924,] 0.67789200
 [925,] 0.59147891
 [926,] 0.79092676
 [927,] 0.61581024
 [928,] 0.30832431
 [929,] 0.44367056
 [930,] 0.45446279
 [931,] 0.40361215
 [932,] 0.52033010
 [933,] 0.50858859
 [934,] 0.48707852
 [935,] 0.39398862
 [936,] 0.82201788
 [937,] 0.79871849
 [938,] 0.58421185
 [939,] 0.23793381
 [940,] 0.50889552
 [941,] 0.68501832
 [942,] 0.51892947
 [943,] 0.48264942
 [944,] 0.46072870
 [945,] 0.86860520
 [946,] 0.58620985
 [947,] 0.41267607
 [948,] 0.47184145
 [949,] 0.57649342
 [950,] 0.40006576
 [951,] 0.79832003
 [952,] 0.65037681
 [953,] 0.63946608
 [954,] 0.61643120
 [955,] 0.36360403
 [956,] 0.67804467
 [957,] 0.78696658
 [958,] 0.42958425
 [959,] 0.17583366
 [960,] 0.50729184
 [961,] 0.51660352
 [962,] 0.56571131
 [963,] 0.75432329
 [964,] 0.43088888
 [965,] 0.63557430
 [966,] 0.52705769
 [967,] 0.67559992
 [968,] 0.55524074
 [969,] 0.66013527
 [970,] 0.47697565
 [971,] 0.59515090
 [972,] 0.53392856
 [973,] 0.58104883
 [974,] 0.58265307
 [975,] 0.77469661
 [976,] 0.68148209
 [977,] 0.49507800
 [978,] 0.73922366
 [979,] 0.53181117
 [980,] 0.37751054
 [981,] 0.29232608
 [982,] 0.62579755
 [983,] 0.49349511
 [984,] 0.24827836
 [985,] 0.64062957
 [986,] 0.77867688
 [987,] 0.49813003
 [988,] 0.67293788
 [989,] 0.18153974
 [990,] 0.22026806
 [991,] 0.65463598
 [992,] 0.80224389
 [993,] 0.58988806
 [994,] 0.48887418
 [995,] 0.39875010
 [996,] 0.48797660
 [997,] 0.56343859
 [998,] 0.66605268
 [999,] 0.73922270
[1000,] 0.53167643

attr(,"class")
[1] "mcmc.list"

결과를 표로 그리기


In [9]:
plot(samples)


쓸모는 모르겠지만 참고용 책에 있던 예제..


In [10]:
plot(coda.samples(jags.model(
    textConnection("
        model {
            theta ~ dbeta(1, 1)
            k ~ dbin(theta, n)
        }
    "),
    data = list(n=2)
), c("theta", "k"), 500))


Compiling model graph
   Resolving undeclared variables
   Allocating nodes
   Graph Size: 4

Initializing model


In [11]:
plot(coda.samples(jags.model(
    textConnection("
        model {
            for(i in 1:N) {
                Y[i] ~ dnorm(mu[i], tau)
                mu[i] <- alpha + beta * (x[i] - mean(x[]))
            }
            sigma <- 1/sqrt(tau)
            alpha ~ dnorm(0, 1.0E-6)
            beta ~ dnorm(0, 1.0E-6)
            tau ~ dgamma(1.0E-3, 1.0E-3)
        }
    "),
    data = list(
        x = c(1, 2, 3, 4, 5),
        Y = c(1, 3, 3, 3, 5),
        N = 5
    )
), c("alpha", "beta", "sigma"), 1000))


Compiling model graph
   Resolving undeclared variables
   Allocating nodes
   Graph Size: 37

Initializing model


In [12]:
plot(coda.samples(jags.model(
    textConnection("
        model {
            for ( i in 1 : N1 ) { y1[i] ~ dbern(theta1) }
            for ( i in 1 : N2 ) { y2[i] ~ dbern(theta2) }
            theta1 ~ dbeta(3, 3)
            theta2 ~ dbeta(3, 3)
        }
    "),
    data = list(
        N1 = 7,
        y1 = c(1,1,1,1,1,0,0),
        N2 = 7,
        y2 = c(1,1,0,0,0,0,0)
    )
), c("theta1", "theta2"), 500))


Compiling model graph
   Resolving undeclared variables
   Allocating nodes
   Graph Size: 19

Initializing model


In [13]:
plot(coda.samples(jags.model(
    textConnection("
        model {
            for (i in 1:N) {
                x[i] ~ dnorm(mu, tau)
            }
            mu ~ dnorm(0, .0001)
            tau <- pow(sigma, -2)
            sigma ~ dunif(0, 100)
        }
    "),
    data = list(
        x = rnorm(1000, 0, 5),
        N = 1000
    )
), c("mu", "tau"), 500))


Compiling model graph
   Resolving undeclared variables
   Allocating nodes
   Graph Size: 1009

Initializing model


In [14]:
plot(coda.samples(jags.model(
    textConnection("
        model {

          for (i in 1:n){
            p[i] <- 1 / n
          }  

          face_rolled ~ dcat(p)

          X <- 2 * face_rolled

          Y <- ifelse(equals(face_rolled,2) || equals(face_rolled, 4) || equals(face_rolled, 6), X, 0)

          S <- X + Y
          P <- X * Y

        }
    "),
    data = list(n=6)
), c("P", "Y"), 500))


Compiling model graph
   Resolving undeclared variables
   Allocating nodes
   Graph Size: 18

Initializing model