LearnBayes/0000755000176200001440000000000015137331002012272 5ustar liggesusersLearnBayes/MD50000644000176200001440000003045715137331002012613 0ustar liggesusersab64d6d5ba56a31afc08ee25ddf501b7 *DESCRIPTION 9997548a1fbb8a0595bda9ea080c88bb *NAMESPACE 898a08431c9004861b3ec4fd0c784ee2 *R/bayes.influence.R 22f4cccb4f46de787dee9c74af2b283a *R/bayes.model.selection.R 769f1b08a58479b8fab604840b802e9b *R/bayes.probit.R 4e19cd38ae7078975ed2165f77fc3040 *R/bayesresiduals.R fbc11b8fa09801928c3ed7c9efb15668 *R/beta.select.R 37d2b3d5e6d3e24fd3b4eefba77a8f89 *R/betabinexch.R 9bd12f9a020b5cf54c5aaf3096b6e91f *R/betabinexch0.R 4958278f73f422c9899897535b6b4287 *R/bfexch.R 68e83353fece11a03dd1c9b53b7e8b4c *R/bfindep.R c61aec9c9d03a038839b0e7d9a04ce29 *R/binomial.beta.mix.R 1df421262c60c62bd22311234c4fd522 *R/blinreg.R c6a241d361109cc9d4cbef2acddb4322 *R/blinregexpected.R db4a3a1c3cc0756ef1c79a7899fccffe *R/blinregpred.R 8b257a4a960b5618ac63f81c2a3d97bc *R/bprobit.probs.R 0eb84201d5263abc1c194138f3475380 *R/bradley.terry.post.R 7330118420406e7b2dfa73c0c326c1c3 *R/careertraj.setup.R a5c932c9ee4c5755a125bf751b4e3d89 *R/cauchyerrorpost.R ba39f7917a9819227db08abf9f18f014 *R/ctable.R 1c2d150f4671a2c330f5f87d3235e1ae *R/discint.R 69f8a00b75039785300678374ac3e7ff *R/discrete.bayes.2.R 13ceffa9b1a3047e1d27698d40a6ea00 *R/discrete.bayes.R 4c62518d20d05153f64f3a60ceda3e87 *R/dmnorm.R 1187a62ddfeb65fac2497cc6d61dcc87 *R/dmt.R 8487380778cb5029b6b3a07782687b9a *R/gibbs.R 360bae448399478ed53098ab3538f0a8 *R/groupeddatapost.R 8dada9a4e777465fed0d0112cd869c74 *R/hiergibbs.R 202886ea8cee2743acb0fcc27f9f05fd *R/histprior.R 66c159127429ae9278fc87581941e58e *R/howardprior.R b667cf56872d63cf0d2fe32aaad53ab0 *R/impsampling.R afadb48b693ac0bb3bf52812f1da6fbd *R/indepmetrop.R 0a49148264cb3e57fc27beedc8834f55 *R/laplace.R 12d087bbd997a4dd66b832c43a9a1983 *R/lbinorm.R 77c24b74c7cb733f542f2110248c8d99 *R/logctablepost.R 8fc3a440a61bce56dfc60c0136d48a15 *R/logisticpost.R 26f2f3f0b1335373d0f0e61f9ba28433 *R/logpoissgamma.R 7b383299fc96727f8bfaac619e8488a7 *R/logpoissnormal.R 69222b200e3af366c5cdbc076b0a0469 *R/mnormt.onesided.R 09316f78dda69ea4db95723d448da40a *R/mnormt.twosided.R 7818233996c26664b1684cd0858ff942 *R/mycontour.R ee8df8184ae863699b3d9c700f046266 *R/normal.normal.mix.R a50662b72b533fe8e37ec0c98ae1d7b1 *R/normal.select.R 72fb2ad1a086b3db169d0a6324f56d21 *R/normchi2post.R f3613aa12d0f5112d2142172bbdef027 *R/normnormexch.R ae1d5003ab4c845c560cea5a62e85e56 *R/normpostpred.R 8c569f83114b21bc24b83a5f98864dd1 *R/normpostsim.R 2f8683119467677ee79b74c7d41e57ba *R/ordergibbs.R 629e3e65d519c624320c3da35dbc51a6 *R/pbetap.R d0baeea9ff76fcf41bffe1128c053249 *R/pbetat.R ed659f82aba03b8e9e64ed760aca61f0 *R/pdisc.R 53454d5197757d1b3b71818b4b29d449 *R/pdiscp.R ab0f8196b33f21e1f41447f826853812 *R/plot.bayes.R b090ab0453262867f9dd7733c7e64fd8 *R/plot.bayes2.R 320137b38e3f249370c5c5a13820f9fa *R/poissgamexch.R 927a92665be2638fbf369f4cd34585da *R/poisson.gamma.mix.R 9d114c0dc1d717f2a3f6637a6587db03 *R/predplot.R 5d68f5d63f78f3d31d00d34ab9a953c3 *R/print.bayes.R cb923b308f55e338ce5b50d0c762e31e *R/prior.two.parameters.R dd910cbe995190125fadde36e4bdbf4e *R/rdirichlet.R 8015d9c359902eebfb3b3fb05827c5cc *R/reg.gprior.post.R e8f2ca865f26af92260e44a4d9e26cd7 *R/regroup.R 20ba84113c853873e64b2f78cce20b3d *R/rejectsampling.R 6dcf1d2901dcc73465c8aeacc400df8f *R/rigamma.R cb95a0325b358a40ee2206f2cff3486f *R/rmnorm.R d007a2e0bbd971dc268afdb44a085841 *R/rmt.R bd565d4dcb403a65a9c3639b1fe863cd *R/robustt.R efb473edadcd9ab19305dce1ac8bfa56 *R/rtruncated.R 9e88e94a5dfb3fceb39befcd40e92db4 *R/rwmetrop.R c4ad0aa3cfdcd196b08034f344b84fb7 *R/simcontour.R 34c83d8c4a3dcabdacd57e0b5f936cce *R/sir.R e6f232d48ec2323225260572cd78e55c *R/summary.bayes.R 09abbfa80415d442dfff7f70866c97f1 *R/transplantpost.R 99b374549ebefd2e320a87a2b514de13 *R/triplot.R 1a4f7381d7238c0bd334ff8ae0e8c125 *R/weibullregpost.R 03e85ca351f4c9ddd739fd4ebba0fdc9 *data/achievement.txt.gz 397f7acbef0dbe7d497172ddffd069b9 *data/baseball.1964.txt.gz 01b069c569d7270028e4e039fb3c7f11 *data/bermuda.grass.txt.gz da4c72c95d096ff8182c78c1813e0683 *data/birdextinct.txt.gz 04c19d25f28741873e7ff3f6d55af704 *data/birthweight.txt.gz f52f4af286141448fbfeee66d489c05d *data/breastcancer.txt.gz 3159909f2ed2db685aef5a2bd3f0e09b *data/calculus.grades.txt.gz 3fbd4ba3efe9a9c2a621ddf77079f492 *data/cancermortality.txt.gz 3c07b363db7ba156cd5425017c6cdecd *data/chemotherapy.txt.gz e3509a545460413642c6b55da3d4b40e *data/darwin.txt.gz b75585797a9a25a1994e7cfb2aea669b *data/donner.txt.gz a7f573296ae72639a93f441d6f98ee44 *data/election.2008.txt.gz 340a6618cb7a123053907cdbb383306c *data/election.txt.gz 8b6c5c4f1f48bfbfc8236e50015104a2 *data/footballscores.txt.gz 56b42f2aeb3dff64c48559f7deafcdfc *data/hearttransplants.txt.gz 5b8faecaa3ec02e380c7640661f543c3 *data/iowagpa.txt.gz f83f19fb994c033e6fc92c72eab6a9af *data/jeter2004.txt.gz 5f2777ec75736a7acc319f88ac307bd1 *data/marathontimes.txt.gz 8b1cadf9eb03b07746d6511ee4b7b649 *data/puffin.txt.gz 538ac18bf98694b07990ee857ba89f80 *data/schmidt.txt.gz 3421e3363d09bc5dc3d4ec96dcb9cf8e *data/sluggerdata.txt.gz 54d7b55c6ef0ae512968b6bd11acc21d *data/soccergoals.txt.gz b7a6b9d621299747de34d8894dc62404 *data/stanfordheart.txt.gz 3a5a54c3e799a85241f32a035b436065 *data/strikeout.txt.gz 1131a94152473cb62f4018609bd22d0e *data/studentdata.txt.gz 8964769af3c007efe3388f7150afa18f *demo/00Index 41eef652b4c507344095b094bcbbbd70 *demo/Chapter.1.2.R 085c057894eab1afe21f32c737cd9658 *demo/Chapter.1.3.R 887005bff54db71ad4e038e596ec50cf *demo/Chapter.10.2.R d49a732adac45dfc343a7f908157723c *demo/Chapter.10.3.R a1e5943bb450cbad4da9b66d21be270d *demo/Chapter.10.4.R 8c63610eebf7e2f1656b9d8b7e71ad26 *demo/Chapter.2.3.R eba7052a0873e262a7c6356439ed72cc *demo/Chapter.2.4.R 58d8b9355778389266fa757e21b5871c *demo/Chapter.2.5.R 985f7269f4c4765bb2b9fd9e9f77708f *demo/Chapter.2.6.R 3fe8bdd117d9ba42df686ef2cc7b25f7 *demo/Chapter.3.2.R cd46a69f84e542347291361292cbee00 *demo/Chapter.3.3.R 7f172bb861494224c1b1b19dd4ced0b9 *demo/Chapter.3.4.R a6abe7d2d30fab8e630779305fcc8582 *demo/Chapter.3.5.R 7dfa9eb93191f06d9679a81526b6c05b *demo/Chapter.3.6.R 8cc49e3fb8274a30a016ff6779c9f7b9 *demo/Chapter.4.2.R 745fefe52f7d1123427bfefacafcbb22 *demo/Chapter.4.3.R 767f801f4cf7dbac88df2819c54065cb *demo/Chapter.4.4.R 130bde1f4d4502a46f1eb2d190e8f8ad *demo/Chapter.4.5.R 3407ef2ec2f42fc6171ed9022fbe2916 *demo/Chapter.5.10.R fc64167d90d9fb0542f5bb1a370f470c *demo/Chapter.5.4.R 27fb82c18d8f992e54fc81558f8146ea *demo/Chapter.5.6.R 933f240e1ee1f07cc3ff3fa08f593476 *demo/Chapter.5.7.R e382600f42a043f2dce385bf0dd2a765 *demo/Chapter.5.8.R 52b64e4cbd0837556648496a1311a942 *demo/Chapter.5.9.R 5cbb407aed67b723666ba07b7a184dda *demo/Chapter.6.10.R ccc509dba6548c32e1acba678fdb1450 *demo/Chapter.6.2.R 82da96357929c77af1789c1146610771 *demo/Chapter.6.7.R e8149cb2755546c48b0763136bcf1e1e *demo/Chapter.6.8.R 9afbd5663661af27ce51b612fe56781e *demo/Chapter.6.9.R 378778c171febc8f95fcdac32b97c11c *demo/Chapter.7.10.R 453cd09c38d1ea9b0c2a8ffa15b82602 *demo/Chapter.7.2.R f7df016019a9eec55565e607bff7016c *demo/Chapter.7.3.R 5c903d7080da9ef59888ccd7b6b32f78 *demo/Chapter.7.4.R 75392421a2b26b4ff1b281dfb82433e4 *demo/Chapter.7.5.R 0e93d8d49711f040a54117e0b795a269 *demo/Chapter.7.7.R b43effd2d996b7a3b5aa889cc7bca4bb *demo/Chapter.7.8.R 31dcbcbe3904e943e54ad0f36175e2b0 *demo/Chapter.7.9.R b91b0c60f6d0f18c126cca5eeaa33755 *demo/Chapter.8.3.R 14650d2e78e92fa14d5e9c57876106a8 *demo/Chapter.8.4.R 2a6d44204a9cb7092a93def46acf8bd1 *demo/Chapter.8.6.R 35b4cc3b7e1292cd2492d706a7dcce16 *demo/Chapter.8.7.R c7362984ed3c55ac7decf7b82e7bf657 *demo/Chapter.8.8.R b4b61c3395225b800163fd5c13e5c21f *demo/Chapter.9.2.R a4cace9038394ec457e107f2d2eefb30 *demo/Chapter.9.3.R 13b18788be48dcc1a7a4b45595d28515 *demo/Chapter.9.4.R 8f7fb93228418983045dd52f2d358452 *man/achievement.Rd a6c623a82aa85c17856dd2666d3d0736 *man/baseball.1964.Rd 95404fedc27369a2624fce0a3f71261d *man/bayes.influence.Rd 47457c19b86ef33554d6dcc6637761b8 *man/bayes.model.selection.Rd 0f9827e1f11fc86e62e15826a8670211 *man/bayes.probit.Rd d1dae82d2eebf269c03257df9c0b3c00 *man/bayesresiduals.Rd ac894f9536885f5311b2fcb539100d4f *man/bermuda.grass.Rd 9939455bf0b22f9339e57091c7029406 *man/beta.select.Rd acb8ecb3365e955a62ab6c6366c41ec2 *man/betabinexch.Rd 7328387324a39f86c1cf840a15195be3 *man/betabinexch0.Rd bd04485c6a7d9831b14e0aa4e45b91ec *man/bfexch.Rd 741ebb63d7f8206473d5d5052b7ca2bf *man/bfindep.Rd 7c79a51906a9e6020f7e764deafb7344 *man/binomial.beta.mix.Rd 112df017dc69367fa8c85866b67e580d *man/birdextinct.Rd 2dc8ca2ed1cabc661b68e6ba340357ba *man/birthweight.Rd c288c219ca4a2423eadd5a21ed76380d *man/blinreg.Rd 521efdd428f3c76e3d2289b7defe7cad *man/blinregexpected.Rd eeed8acad6dc33cf5046fe0c93863697 *man/blinregpred.Rd 8a198bd73d7aca180f74abee802086f9 *man/bprobit.probs.Rd 436fe7daa7b6ba88a37e4e28d894447c *man/bradley.terry.post.Rd 70d6bc53c7f4650728cfeb4c8252d2db *man/breastcancer.Rd 7968b7675430c1d95a9d223e5128537c *man/calculus.grades.Rd bab6566d9e07fc2a7b526cf9a4be6b7b *man/cancermortality.Rd 7591df0a4b9313dcb8859c8534d05ce1 *man/careertraj.setup.Rd cf2644b51f4325e9781f31ff9a7708ee *man/cauchyerrorpost.Rd d7f42007c59fe4341b52cdd83ae0b507 *man/chemotherapy.Rd 987d38ca3c3ecf2c61e981daf912282e *man/ctable.Rd 9856b5ef87bd99e7f1b77902d586cca8 *man/darwin.Rd 35edfd64ff3a9b050264329e89474550 *man/discint.Rd e5adfd73c938b6b36e5c671a2a444f7b *man/discrete.bayes.2.Rd 4da611d3037a641cb306216844fbf403 *man/discrete.bayes.Rd e60cd961203908c5bfac89227584c695 *man/dmnorm.Rd 59032c9e6f6e1b05aca2851d1cbfefa1 *man/dmt.Rd db5de545003143bb92477b8a463a9dea *man/donner.Rd e791548e19fd5f227fcf9a46b1849a6a *man/election.2008.Rd 7e8e16dafa2760a47e16a324adb8b3cd *man/election.Rd a3f7da4354c2cbe909ae46afef1973d4 *man/footballscores.Rd 260c965b30d96a3cd167821d0468114f *man/gibbs.Rd daea7b077164d43ac6af387767f28f2f *man/groupeddatapost.Rd 76286c46ddc90ad304a378361df2dbf6 *man/hearttransplants.Rd 5b17b55eb34da6d51536b23add1a345d *man/hiergibbs.Rd 77633de22a306277d5e0dc6baa027753 *man/histprior.Rd 7db9b1ad64fa746febee974383270dc9 *man/howardprior.Rd 45a22f1553ba3a3f264af941fc053bbd *man/impsampling.Rd b4aa00eed3f17258cfa7a82d52e32156 *man/indepmetrop.Rd cb6db1fff92b9a5547add81c4f585635 *man/iowagpa.Rd 477897cc0eb616e22c66bf161940a018 *man/jeter2004.Rd 25b156b6e144792413224a0da87c0d51 *man/laplace.Rd f31ed993b7e2ccc77224226050445267 *man/lbinorm.Rd 8ef0980f0ea876dd39bef7da79d7453b *man/logctablepost.Rd 4810914878cf996404def78f3690325c *man/logisticpost.Rd b8ed19c915bbf93a925bdf12c58760f5 *man/logpoissgamma.Rd 389efd0a7cb34997b4039ced1a2ac66d *man/logpoissnormal.Rd ddcdac3a05b4a1310543ffe12723b703 *man/marathontimes.Rd db26556d6026b632ec8e17bea1ddb3a6 *man/mnormt.onesided.Rd a1ef4e15664322b76d7dd634cb85ba63 *man/mnormt.twosided.Rd 56b4b4620882216db02cb9501d9ece21 *man/mycontour.Rd b52d6517db4f0411db77ad2de7ca1501 *man/normal.normal.mix.Rd 4b50e97c7714d0c7237518d4ebdbde00 *man/normal.select.Rd 28b1e9e6c1f1d692de6834ed1ecd1a1e *man/normchi2post.Rd f5eacf996b7bc78875fb8e93967e5930 *man/normnormexch.Rd f7b96af216164e1d5e7db18712c8a7cc *man/normpostpred.Rd 366dbf76a09c16f9dfe9ce7dfaf6b3e9 *man/normpostsim.Rd 33d1f0c75316daf91bf2cb8fe5f1a52a *man/ordergibbs.Rd cb82cc97aeeaf3eaca0f31f55287699c *man/pbetap.Rd 4f045a30c98c061b70e6a98e747da395 *man/pbetat.Rd be1df2c91571ffd3f3844c85e6b76799 *man/pdisc.Rd 9d51d36a0a4d2b0610ccee15a7ac51b4 *man/pdiscp.Rd 1dfa3f121e491c34a83a334182241780 *man/poissgamexch.Rd 5c59c405ca01d486cc70c9f65ad6db3d *man/poisson.gamma.mix.Rd 5873bd04f763532aabd029180b753beb *man/predplot.Rd 26a5b070f21e29d1ec8924989a587c57 *man/prior.two.parameters.Rd 2d66fca7f0d417bb681b06c99699bfb1 *man/puffin.Rd 9ba868961666d59e79f72bc7611f834f *man/rdirichlet.Rd 8803efdf9ffbb95e128368c78ff45f6c *man/reg.gprior.post.Rd 7fdf23b6e09335b8546c836bc83400c7 *man/regroup.Rd 8a4d2dacd2a66a4d96b00cba6e1912a8 *man/rejectsampling.Rd 198a4a8738b78ada09d0b6e7ee9b82fb *man/rigamma.Rd 6f3a3ce86cb20b6a976a139c3c7efaea *man/rmnorm.Rd 1b2d7ca8a682d564d7570e8641936870 *man/rmt.Rd a9af2e2e3dacb4cfd04516cf56a94659 *man/robustt.Rd baf44118494f8d9d2e3132bf0afeb76c *man/rtruncated.Rd 5618d9a3663deabcd834e8c8545f15ed *man/rwmetrop.Rd 6e0fdd4fd186bc8a74dc9a4cb8e37ca4 *man/schmidt.Rd 8e4c28a99edffdad4d3a9205c066ba59 *man/simcontour.Rd a0efa6c49708f3dec10e0843937f5fee *man/sir.Rd a41662fd0a81804580c5614e90b77a83 *man/sluggerdata.Rd cf66ae7ee464b5d005d8167ad973630e *man/soccergoals.Rd 638da9adf334fdf0ab868c6a8de0648f *man/stanfordheart.Rd 1ce84b40ed14d4b31f3ed6fd10cc2189 *man/strikeout.Rd 64a94f93cc063d58396b17be9b7aa832 *man/studentdata.Rd 1389ec48ca8815dd817b6cd7c2deafe0 *man/transplantpost.Rd 9d8fd893772589b7975ea9b1dbe890bd *man/triplot.Rd c9a68349e3c5473b245389b6b89a3a9d *man/weibullregpost.Rd LearnBayes/R/0000755000176200001440000000000013135722227012504 5ustar liggesusersLearnBayes/R/mycontour.R0000644000176200001440000000126211052362064014662 0ustar liggesusersmycontour=function (logf, limits, data, ...) { LOGF=function(theta, data) { if(is.matrix(theta)==TRUE){ val=matrix(0,c(dim(theta)[1],1)) for (j in 1:dim(theta)[1]) val[j]=logf(theta[j,],data) } else val=logf(theta,data) return(val) } ng = 50 x0 = seq(limits[1], limits[2], len = ng) y0 = seq(limits[3], limits[4], len = ng) X = outer(x0, rep(1, ng)) Y = outer(rep(1, ng), y0) n2 = ng^2 Z = LOGF(cbind(X[1:n2], Y[1:n2]), data) Z = Z - max(Z) Z = matrix(Z, c(ng, ng)) contour(x0, y0, Z, levels = seq(-6.9, 0, by = 2.3), lwd = 2, ...) } LearnBayes/R/normpostsim.R0000644000176200001440000000144011317415102015207 0ustar liggesusersnormpostsim=function (data, prior=NULL, m = 1000) { if (length(prior)==0) { S = sum((data - mean(data))^2) xbar = mean(data) n = length(data) SIGMA2 = S/rchisq(m, n - 1) MU = rnorm(m, mean = xbar, sd = sqrt(SIGMA2)/sqrt(n)) } else { a=prior$sigma2[1] b=prior$sigma2[2] mu0=prior$mu[1] tau2=prior$mu[2] S = sum((data - mean(data))^2) xbar = mean(data) n = length(data) SIGMA2=rep(0,m) MU=rep(0,m) sigma2=S/n for (j in 1:m) { prec=n/sigma2+1/tau2 mu1=(xbar*n/sigma2+mu0/tau2)/prec v1=1/prec mu=rnorm(1,mu1,sqrt(v1)) a1=a+n/2 b1=b+sum((data-mu)^2)/2 sigma2=rigamma(1,a1,b1) SIGMA2[j]=sigma2 MU[j]=mu } } return(list(mu = MU, sigma2 = SIGMA2)) } LearnBayes/R/sir.R0000644000176200001440000000106310706716362013430 0ustar liggesuserssir=function (logf, tpar, n, data) { k = length(tpar$m) theta = rmt(n, mean = c(tpar$m), S = tpar$var, df = tpar$df) lf=matrix(0,c(dim(theta)[1],1)) for (j in 1:dim(theta)[1]) lf[j]=logf(theta[j,],data) lp = dmt(theta, mean = c(tpar$m), S = tpar$var, df = tpar$df, log = TRUE) md = max(lf - lp) wt = exp(lf - lp - md) probs = wt/sum(wt) indices = sample(1:n, size = n, prob = probs, replace = TRUE) if (k > 1) theta = theta[indices, ] else theta = theta[indices] return(theta) } LearnBayes/R/cauchyerrorpost.R0000644000176200001440000000024610706716154016070 0ustar liggesuserscauchyerrorpost=function(theta, data) { logf=function(data,theta) log(dt((data-theta[1])/exp(theta[2]),df=1)/exp(theta[2])) return(sum(logf(data,theta))) } LearnBayes/R/groupeddatapost.R0000644000176200001440000000037210706716164016042 0ustar liggesusersgroupeddatapost=function (theta, data) { dj=function(f,int.lo,int.hi,mu,sigma) f*log(pnorm(int.hi,mu,sigma)-pnorm(int.lo,mu,sigma)) mu = theta[1] sigma = exp(theta[2]) sum(dj(data$f,data$int.lo,data$int.hi,mu,sigma)) } LearnBayes/R/bprobit.probs.R0000644000176200001440000000064610537403452015421 0ustar liggesusersbprobit.probs=function(X1,fit) { # bprobit.probs Produces a simulated sample from the posterior # distribution of an expected response for a linear regression model # X1 = design matrix of interest # fit = output of bayes.probit function d=dim(X1) n1=d[1] md=dim(fit); m=md[1] m1=array(0,c(m,n1)) for (j in 1:n1) { m1[,j]=pnorm(X1[j,]%*%t(fit)) } return(m1) } LearnBayes/R/normal.select.R0000644000176200001440000000037711063057620015400 0ustar liggesusersnormal.select=function (quantile1, quantile2) { p1 = quantile1$p x1 = quantile1$x p2 = quantile2$p x2 = quantile2$x sigma=(x1-x2)/diff(qnorm(c(p2,p1))) mu=x1-sigma*qnorm(p1) return(list(mu=mu,sigma=sigma)) } LearnBayes/R/bfindep.R0000644000176200001440000000202510537532462014240 0ustar liggesusersbfindep=function(y,K,m) { # compute Bayes factor against independence # using Albert and Gupta independence priors # ymat - I x J matrix # K - Dirichlet precision parameter # m - number of iterations rdirichlet=function (n, alpha) { l <- length(alpha) x <- matrix(rgamma(l * n, alpha), ncol = l, byrow = TRUE) sm <- x %*% rep(1, l) return(x/as.vector(sm)) } ldirichlet=function(alpha) { # log dirichlet function # for multiple values stored in matrix alpha return(rowSums(lgamma(alpha))-lgamma(rowSums(alpha))) } yc=colSums(y); yr=rowSums(y); n=sum(yc) d=dim(y); I=d[1]; J=d[2] etaA=rdirichlet(m,yr+1) etaB=rdirichlet(m,yc+1) Keta=c(); KetaY=c() for (i in 1:I) { for (j in 1:J) { Keta=cbind(Keta,K*etaA[,i]*etaB[,j]) KetaY=cbind(KetaY,K*etaA[,i]*etaB[,j]+y[i,j]) }} logint=ldirichlet(KetaY)-ldirichlet(Keta) for (i in 1:I) logint=logint-yr[i]*log(etaA[,i]) for (j in 1:J) logint=logint-yc[j]*log(etaB[,j]) int=exp(logint) return(list(bf=mean(int),nse=sd(int)/sqrt(m))) } LearnBayes/R/rwmetrop.R0000644000176200001440000000127211411451462014503 0ustar liggesusersrwmetrop=function (logpost, proposal, start, m, ...) { pb = length(start) Mpar = array(0, c(m, pb)) b = matrix(t(start)) lb = logpost(start, ...) a = chol(proposal$var) scale = proposal$scale accept = 0 for (i in 1:m) { bc = b + scale * t(a) %*% array(rnorm(pb), c(pb, 1)) lbc = logpost(t(bc), ...) prob = exp(lbc - lb) if (is.na(prob) == FALSE) { if (runif(1) < prob) { lb = lbc b = bc accept = accept + 1 } } Mpar[i, ] = b } accept = accept/m stuff = list(par = Mpar, accept = accept) return(stuff) } LearnBayes/R/mnormt.onesided.R0000644000176200001440000000144710537550542015744 0ustar liggesusersmnormt.onesided=function(m0,normpar,data) { # # mnormt.onesided Performs a test that a normal mean is <= certain value. # m0 = value to be tested # normpar = mean and standard deviation of normal prior on mu # data = (sample mean, sample size, known sampling standard deviation) xbar=data[1]; n=data[2]; s=data[3] prior.mean=normpar[1] prior.sd=normpar[2] prior.var=prior.sd^2 priorH=pnorm(m0,prior.mean,prior.sd) priorA=1-priorH prior.odds=priorH/priorA post.precision=1/prior.var+n/s^2 post.var=1/post.precision post.sd=sqrt(post.var) post.mean=(xbar*n/s^2+prior.mean/prior.var)/post.precision postH=pnorm(m0,post.mean,post.sd) postA=1-postH post.odds=postH/postA BF=post.odds/prior.odds return(list(BF=BF,prior.odds=prior.odds,post.odds=post.odds,postH=postH)) } LearnBayes/R/simcontour.R0000644000176200001440000000164210706716352015037 0ustar liggesuserssimcontour=function (logf, limits, data, m) { LOGF=function(theta, data) { if(is.matrix(theta)==TRUE){ val=matrix(0,c(dim(theta)[1],1)) for (j in 1:dim(theta)[1]) val[j]=logf(theta[j,],data) } else val=logf(theta,data) return(val) } ng = 50 x0 = seq(limits[1], limits[2], len = ng) y0 = seq(limits[3], limits[4], len = ng) X = outer(x0, rep(1, ng)) Y = outer(rep(1, ng), y0) n2 = ng^2 Z = LOGF(cbind(X[1:n2], Y[1:n2]), data) Z = Z - max(Z) Z = matrix(Z, c(ng, ng)) d = cbind(X[1:n2], Y[1:n2], Z[1:n2]) dx = diff(x0[1:2]) dy = diff(y0[1:2]) prob = d[, 3] prob = exp(prob) prob = prob/sum(prob) i = sample(2500, m, replace = TRUE, prob = prob) return(list(x = d[i, 1] + runif(m) * dx - dx/2, y = d[i, 2] + runif(m) * dy - dy/2)) } LearnBayes/R/bayes.model.selection.R0000644000176200001440000000331511054044500017004 0ustar liggesusersbayes.model.selection=function (y, X, c, constant = TRUE) { base2 = function(s, k) { r = rep(0, k) for (j in seq(k, 1, by = -1)) { r[j] = floor(s/(2^(j - 1))) s = s - r[j] * (2^(j - 1)) } return(r) } regpost.mod = function(theta, stuff) { y = stuff$y X = stuff$X c = stuff$c beta = theta[-length(theta)] sigma = exp(theta[length(theta)]) if (length(beta) > 1) loglike = sum(dnorm(y, mean = X %*% as.vector(beta), sd = sigma, log = TRUE)) else loglike = sum(dnorm(y, mean = X * beta, sd = sigma, log = TRUE)) logprior = dmnorm(beta, mean = 0 * beta, varcov = c * sigma^2 * solve(t(X) %*% X), log = TRUE) return(loglike + logprior) } require(LearnBayes) X = as.matrix(X) if (constant == FALSE) X = cbind(1, X) p = dim(X)[2] - 1 GAM = array(TRUE, c(2^p, p + 1)) for (k in 1:(2^p)) GAM[k, ] = as.logical(c(1, base2(k - 1, p))) gof = rep(0, 2^p) converge = rep(TRUE, 2^p) for (j in 1:2^p) { X0 = X[, GAM[j, ]] fit = lm(y ~ 0 + X0) beta = fit$coef s = sqrt(sum(fit$residuals^2)/fit$df.residual) theta = c(beta, log(s)) S = list(X = X0, y = y, c = c) fit = laplace(regpost.mod, theta, S) gof[j] = fit$int converge[j] = fit$converge } Prob=exp(gof-max(gof))/sum(exp(gof-max(gof))) mod.prob=data.frame(GAM[, -1], round(gof,2), round(Prob,5)) names(mod.prob)=c(dimnames(X)[[2]][-1],"log.m","Prob") return(list(mod.prob=mod.prob, converge = converge)) } LearnBayes/R/impsampling.R0000644000176200001440000000106710706716200015146 0ustar liggesusersimpsampling=function (logf, tpar, h, n, data) { theta = rmt(n, mean = c(tpar$m), S = tpar$var, df = tpar$df) lf=matrix(0,c(dim(theta)[1],1)) for (j in 1:dim(theta)[1]) lf[j]=logf(theta[j,],data) H=lf for (j in 1:dim(theta)[1]) H[j]=h(theta[j,]) lp = dmt(theta, mean = c(tpar$m), S = tpar$var, df = tpar$df, log = TRUE) md = max(lf - lp) wt = exp(lf - lp - md) est = sum(wt * H)/sum(wt) SEest = sqrt(sum((H - est)^2 * wt^2))/sum(wt) return(list(est = est, se = SEest, theta = theta, wt = wt)) } LearnBayes/R/rtruncated.R0000644000176200001440000000013310735453532015002 0ustar liggesusersrtruncated=function(n,lo,hi,pf,qf,...) qf(pf(lo,...)+runif(n)*(pf(hi,...)-pf(lo,...)),...)LearnBayes/R/bayes.influence.R0000644000176200001440000000103610554311106015671 0ustar liggesusersbayes.influence=function(theta,data) { y=data[,1]; n=data[,2] N=length(y) summary=quantile(theta[,2],c(.05,.5,.95)) summary.obs=array(0,c(N,3)) K=exp(theta[,2]) eta=exp(theta[,1])/(1+exp(theta[,1])) m=length(K) for (i in 1:N) { weight=exp(lbeta(K*eta,K*(1-eta))-lbeta(K*eta+y[i],K*(1-eta)+n[i]-y[i])) probs=weight/sum(weight) indices=sample(1:m,size=m,prob=probs,replace=TRUE) theta.s=theta[indices,] summary.obs[i,]=quantile(theta.s[,2],c(.05,.5,.95)) } return(list(summary=summary,summary.obs=summary.obs)) } LearnBayes/R/normpostpred.R0000644000176200001440000000052510735454626015375 0ustar liggesusersnormpostpred=function(parameters,sample.size,f=min) { normalsample=function(j,parameters,sample.size) rnorm(sample.size,mean=parameters$mu[j],sd=sqrt(parameters$sigma2[j])) m=length(parameters$mu) post.pred.samples=sapply(1:m,normalsample,parameters,sample.size) stat=apply(post.pred.samples,2,f) return(stat) }LearnBayes/R/normchi2post.R0000644000176200001440000000034010706716326015257 0ustar liggesusersnormchi2post=function(theta,data) { mu = theta[1] sig2 = theta[2] logf=function(y,mu,sig2) -(y-mu)^2/2/sig2-log(sig2)/2 z=sum(logf(data,mu,sig2)) z = z - log(sig2) return(z) } LearnBayes/R/pbetap.R0000644000176200001440000000123310156424012014070 0ustar liggesuserspbetap=function(ab,n,s) { # # PBETAP Predictive distribution of number of successes in future binomial # experiment with a beta prior. PRED = PBETAP(AB,N,S) returns a vector # PRED of predictive probabilities, where AB is the vector of beta # parameters, N is the future binomial sample size, and S is the vector of # numbers of successes for which predictive probabilities will be computed. #------------------------ # Written by Jim Albert # albert@bgnet.bgsu.edu # November 2004 #------------------------ pred=0*s; a=ab[1]; b=ab[2]; lcon=lgamma(n+1)-lgamma(s+1)-lgamma(n-s+1); pred=exp(lcon+lbeta(s+a,n-s+b)-lbeta(a,b)); return(pred) } LearnBayes/R/rdirichlet.R0000644000176200001440000000044411105175042014752 0ustar liggesusersrdirichlet=function (n, par) { k = length(par) z = array(0, dim = c(n, k)) s = array(0, dim = c(n, 1)) for (i in 1:k) { z[, i] = rgamma(n, shape = par[i]) s = s + z[, i] } for (i in 1:k) { z[, i] = z[, i]/s } return(z) } LearnBayes/R/gibbs.R0000644000176200001440000000073311453352334013717 0ustar liggesusersgibbs=function(logpost,start,m,scale,...) { p=length(start) vth=array(0,dim=c(m,p)) f0=logpost(start,...) arate=array(0,dim=c(1,p)) th0=start for (i in 1:m) { for (j in 1:p) { th1=th0 th1[j]=th0[j]+rnorm(1)*scale[j] f1=logpost(th1,...) u=runif(1)= coverage] j = j[1] eprob = cp[j] set = sort(xs[1:j]) v = list(mean=post.mean,sd=post.sd,coverage = eprob, set = set) return(v) } LearnBayes/R/bfexch.R0000644000176200001440000000053410710253300014053 0ustar liggesusersbfexch=function (theta, datapar) { y = datapar$data[, 1] n = datapar$data[, 2] K = datapar$K eta = exp(theta)/(1 + exp(theta)) logf=function(K,eta,y,n) lbeta(K*eta+y, K*(1-eta)+n-y)-lbeta(K*eta, K*(1-eta)) sum(logf(K,eta,y,n)) + log(eta * (1 - eta))- lbeta(sum(y) + 1, sum(n - y) + 1) } LearnBayes/R/logctablepost.R0000644000176200001440000000060010706716300015461 0ustar liggesuserslogctablepost=function (theta, data) { theta1 = theta[1] theta2 = theta[2] s1 = data[1] f1 = data[2] s2 = data[3] f2 = data[4] logitp1 = (theta1 + theta2)/2 logitp2 = (theta2 - theta1)/2 term1 = s1 * logitp1 - (s1 + f1) * log(1 + exp(logitp1)) term2 = s2 * logitp2 - (s2 + f2) * log(1 + exp(logitp2)) return(term1 + term2) } LearnBayes/R/logpoissnormal.R0000644000176200001440000000035710537423222015700 0ustar liggesuserslogpoissnormal=function(theta,datapar) { y=datapar$data npar=datapar$par lambda=exp(theta) loglike=log(dgamma(lambda,shape=sum(y)+1,scale=1/length(y))) logprior=log(dnorm(theta,mean=npar[1],sd=npar[2])) return(loglike+logprior) } LearnBayes/R/pdiscp.R0000644000176200001440000000125710506047142014111 0ustar liggesusers"pdiscp" <- function(p,probs,n,s) { # # PDISCP Predictive distribution of number of successes in future binomial # experiment with a discrete prior. PRED = PDISCP(P,PROBS,N,S) returns # vector PRED of predictive probabilities, where P is the vector of # values of the proportion, PROBS is the corresponding vector of # probabilities, N is the future binomial sample size, and S is the vector of # numbers of successes for which predictive probabilities will be computed. #------------------------ # Written by Jim Albert # albert@bgnet.bgsu.edu # November 2004 #------------------------ pred=0*s; for (i in 1:length(p)) { pred=pred+probs[i]*dbinom(s,n,p[i]); } return(pred) } LearnBayes/R/normal.normal.mix.R0000644000176200001440000000066310732110664016203 0ustar liggesusersnormal.normal.mix=function(probs,normalpar,data) { N=length(probs) y=data[1]; sigma2=data[2] prior.mean=normalpar[,1] prior.var=normalpar[,2] post.precision=1/prior.var+1/sigma2 post.var=1/post.precision post.mean=(y/sigma2+prior.mean/prior.var)/post.precision m.prob=dnorm(y,prior.mean,sqrt(sigma2+prior.var)) post.probs=probs*m.prob/sum(probs*m.prob) return(list(probs=post.probs,normalpar=cbind(post.mean,post.var))) }LearnBayes/R/rigamma.R0000644000176200001440000000013010707363334014240 0ustar liggesusersrigamma = function(n, a, b) { return(1/rgamma(n, shape = a, rate = b)) } LearnBayes/R/ordergibbs.R0000644000176200001440000000402610537773050014756 0ustar liggesusersordergibbs=function(data,m) { # implements Gibbs sampling for table of means # with prior belief in order restriction # input: data = data matrix with two columns [sample mean, sample size] # m = number of iterations of Gibbs sampling # output: matrix of simulated values of means where each row # represents one simulated draw ##################################################### rnormt=function(n,mu,sigma,lo,hi) { # simulates n random variates from a normal(mu,sigma) # distribution truncated on the interval (lo, hi) p=pnorm(c(lo,hi),mu,sigma) return(mu+sigma*qnorm(runif(n)*(p[2]-p[1])+p[1])) } ##################################################### y=data[,1] # sample means n=data[,2] # sample sizes s=.65 # assumed value of sigma for this example I=8; J=5 # number of rows and columns in matrix # placing vectors y, n into matrices y=t(array(y,c(J,I))) n=t(array(n,c(J,I))) y=y[seq(8,1,by=-1),] n=n[seq(8,1,by=-1),] # setting up the matrix of values of the population means mu # two rows and two columns are added that help in the simulation # of individual values of mu from truncated normal distributions mu0=Inf*array(1,c(I+2,J+2)) mu0[1,]=-mu0[1,] mu0[,1]=-mu0[,1] mu0[1,1]=-mu0[1,1] mu=mu0 # starting value of mu that satisfies order restriction m1=c(2.64,3.02,3.02,3.07,3.34) m2=c(2.37,2.63,2.74,2.76,2.91) m3=c(2.37,2.47,2.64,2.66,2.66) m4=c(2.31,2.33,2.33,2.33,2.33) m5=c(2.04,2.11,2.11,2.33,2.33) m6=c(1.85,1.85,1.85,2.10,2.10) m7=c(1.85,1.85,1.85,1.88,1.88) m8=c(1.59,1.59,1.59,1.67,1.88) muint=rbind(m8,m7,m6,m5,m4,m3,m2,m1) mu[2:(I+1),2:(J+1)]=muint MU=array(0,c(m,I*J)) # arry MU stores simulated values of mu ##################### main loop ####################### for (k in 1:m) { for (i in 2:(I+1)) { for (j in 2:(J+1)) { lo=max(c(mu[i-1,j],mu[i,j-1])) hi=min(c(mu[i+1,j],mu[i,j+1])) mu[i,j]=rnormt(1,y[i-1,j-1],s/sqrt(n[i-1,j-1]),lo,hi) } } mm=mu[2:(I+1),2:(J+1)] MU[k,]=array(mm,c(1,I*J)) } return(MU) } LearnBayes/R/poissgamexch.R0000644000176200001440000000066510710103714015316 0ustar liggesusers poissgamexch=function (theta, datapar) { y = datapar$data[, 2] e = datapar$data[, 1] z0 = datapar$z0 alpha = exp(theta[1]) mu = exp(theta[2]) beta = alpha/mu logf=function(y,e,alpha,beta) lgamma(alpha + y) - (y + alpha) * log(e + beta) + alpha * log(beta)-lgamma(alpha) val=sum(logf(y,e,alpha,beta)) val = val + log(alpha) - 2 * log(alpha + z0) return(val) }LearnBayes/R/robustt.R0000644000176200001440000000111510554303760014326 0ustar liggesusersrobustt=function(y,v,m) { rigamma=function(n,a,b) { # simulates n values from a Inverse Gamma # distribution with shape a and rate b # density x^(-a-1) exp(b/x) return(1/rgamma(n,shape=a,rate=b)) } n=length(y) mu=mean(y); sig2=sd(y)^2; lam=array(1,c(n,1)) M=array(0,c(m,1)); S2=M; LAM=array(0,c(m,n)) for (i in 1:m) { lam=rgamma(n,shape=(v+1)/2,rate=v/2+(y-mu)^2/2/sig2) mu=rnorm(1,mean=sum(y*lam)/sum(lam),sd=sqrt(sig2/sum(lam))) sig2=rigamma(1,n/2,sum(lam*(y-mu)^2)/2) M[i]=mu; S2[i]=sig2; LAM[i,]=lam } par=list(mu=M,s2=S2,lam=LAM) return(par) } LearnBayes/R/blinreg.R0000644000176200001440000000160411054056652014252 0ustar liggesusersblinreg=function (y, X, m, prior=NULL) { if(length(prior)>0) { c0=prior$c0; beta0=matrix(prior$b0,c(1,length(prior$b)))} fit = lm(y ~ 0 + X) bhat = matrix(fit$coef, c(1, fit$rank)) s2 = sum(fit$residuals^2)/fit$df.residual if(length(prior)==0) { shape = fit$df.residual/2 rate = fit$df.residual/2 * s2 beta.m = bhat vbeta = vcov(fit)/s2 } else { shape = length(y)/2 rate = fit$df.residual/2 * s2 + (beta0 - bhat) %*% t(X) %*% X %*% t(beta0 - bhat)/2/(c0+1) beta.m = c0/(c0+1)*(beta0/c0 + bhat) vbeta = vcov(fit)/s2*c0/(c0+1) } sigma = sqrt(1/rgamma(m, shape = shape, rate = rate)) beta = rmnorm(m, mean=rep(0, fit$rank), varcov=vbeta) beta = array(1, c(m, 1)) %*% beta.m + array(sigma, c(m, fit$rank))*beta return(list(beta = beta, sigma = sigma)) } LearnBayes/R/bayesresiduals.R0000644000176200001440000000041510537417252015650 0ustar liggesusersbayesresiduals=function(lmfit,post,k) { ehat=lmfit$residuals h=hat(model.matrix(lmfit)) prob=0*ehat for (i in 1:length(prob)) { z1=(k-ehat[i]/post$sigma)/sqrt(h[i]) z2=(-k-ehat[i]/post$sigma)/sqrt(h[i]) prob[i]=mean(1-pnorm(z1)+pnorm(z2)) } return(prob) }LearnBayes/R/betabinexch0.R0000644000176200001440000000055010706716076015171 0ustar liggesusersbetabinexch0=function (theta, data) { eta = theta[1] K = theta[2] y = data[, 1] n = data[, 2] N = length(y) logf=function(y,n,K,eta) lbeta(K * eta + y, K * (1 - eta) + n - y)-lbeta(K * eta, K * (1 - eta)) val=sum(logf(y,n,K,eta)) val = val - 2 * log(1 + K) - log(eta) - log(1 - eta) return(val) } LearnBayes/R/poisson.gamma.mix.R0000644000176200001440000000102110735454006016170 0ustar liggesuserspoisson.gamma.mix=function(probs,gammapar,data) { N=length(probs) y=data$y; t=data$t; n=length(y) post.gammapar=gammapar+outer(rep(1,N),c(sum(y),sum(t))) L=post.gammapar[,1]/post.gammapar[,2] loglike=0 for (j in 1:n) loglike=loglike+dpois(y[j],L*t[j],log=TRUE) m.prob=exp(loglike+ dgamma(L,shape=gammapar[,1],rate=gammapar[,2],log=TRUE) - dgamma(L,shape=post.gammapar[,1],rate=post.gammapar[,2],log=TRUE)) post.probs=probs*m.prob/sum(probs*m.prob) return(list(probs=post.probs,gammapar=post.gammapar)) }LearnBayes/R/discint.R0000644000176200001440000000133410506337040014257 0ustar liggesusers"discint" <- function(dist,prob) # # DISC_INT Computes a highest probability interval for a discrete distribution. # LIST=DISCINT(DIST,PROB) gives a list, where LIST.set is the set of values and # LIST.prob is the exact probability context EPROB, where DIST=[VALUE,PROBABILITY] # is the matrix which contains the discrete distribution and PROB # is the probability content desired. #------------------------ # Written by Jim Albert # albert@bgnet.bgsu.edu # November 2004 #------------------------ { x=dist[,1]; p=dist[,2]; n=length(x) sp=sort(p,index.return=TRUE) ps=sp$x i=sp$ix[seq(n,1,-1)]; ps=p[i]; xs=x[i] cp=cumsum(ps) ii=1:n j=ii[cp>=prob]; j=j[1] eprob=cp[j]; set=sort(xs[1:j]) v=list(prob=eprob,set=set) return(v) } LearnBayes/R/beta.select.R0000644000176200001440000000125211050664616015021 0ustar liggesusersbeta.select=function(quantile1,quantile2) { betaprior1=function(K,x,p) # suppose one is given a beta(K*m, K*(1-m)) prior # where the pth quantile is given by x # function outputs the prior mean m { m.lo=0; m.hi=1; flag=0 while(flag==0) { m0=(m.lo+m.hi)/2 p0=pbeta(x,K*m0,K*(1-m0)) if(p00)&(prob2<1)) app=approx(prob2[ind],logK[ind],p2) K0=exp(app$y) m0=betaprior1(K0,x1,p1) return(round(K0*c(m0,(1-m0)),2)) }LearnBayes/R/binomial.beta.mix.R0000644000176200001440000000066710732036140016130 0ustar liggesusersbinomial.beta.mix=function(probs,betapar,data) { N=length(probs) s=data[1]; f=data[2] post.betapar=betapar+outer(rep(1,N),data) p=post.betapar[,1]/(post.betapar[,1]+post.betapar[,2]) m.prob=exp(dbinom(s,size=s+f,prob=p,log=TRUE)+ dbeta(p,betapar[,1],betapar[,2],log=TRUE) - dbeta(p,post.betapar[,1],post.betapar[,2],log=TRUE)) post.probs=probs*m.prob/sum(probs*m.prob) return(list(probs=post.probs,betapar=post.betapar)) }LearnBayes/R/lbinorm.R0000644000176200001440000000041510706716272014275 0ustar liggesusers lbinorm=function (xy, par) { m = par$m v = par$v x = xy[1] y = xy[2] zx = (x - m[1])/sqrt(v[1, 1]) zy = (y - m[2])/sqrt(v[2, 2]) r = v[1, 2]/sqrt(v[1, 1] * v[2, 2]) return(-0.5/(1 - r^2) * (zx^2 - 2 * r * zx * zy + zy^2)) } LearnBayes/R/howardprior.R0000644000176200001440000000055010706716172015172 0ustar liggesusershowardprior=function (xy, par) { alpha = par[1] beta = par[2] gam = par[3] delta = par[4] sigma = par[5] p1 = xy[1] p2 = xy[2] u = log(p1/(1 - p1) * (1 - p2)/p2)/sigma z = -0.5 * u^2 + (alpha - 1) * log(p1) + (beta - 1) * log(1 - p1) + (gam - 1) * log(p2) + (delta - 1) * log(1 - p2) return(z) } LearnBayes/R/rejectsampling.R0000644000176200001440000000104110706734160015632 0ustar liggesusersrejectsampling=function (logf, tpar, dmax, n, data) { d = length(tpar$m) theta = rmt(n, mean = c(tpar$m), S = tpar$var, df = tpar$df) lf = matrix(0, c(dim(theta)[1], 1)) for (j in 1:dim(theta)[1]) lf[j] = logf(theta[j, ], data) lg = dmt(theta, mean = c(tpar$m), S = tpar$var, df = tpar$df, log = TRUE) if (d == 1) { prob = exp(c(lf) - lg - dmax) return(theta[runif(n) < prob]) } else { prob = exp(lf - lg - dmax) return(theta[runif(n) < prob, ]) } } LearnBayes/R/dmnorm.R0000644000176200001440000000101510616346554014126 0ustar liggesusersdmnorm=function (x, mean = rep(0, d), varcov, log = FALSE) { d <- if (is.matrix(varcov)) ncol(varcov) else 1 if (d > 1 & is.vector(x)) x <- matrix(x, 1, d) n <- if (d == 1) length(x) else nrow(x) X <- t(matrix(x, nrow = n, ncol = d)) - mean Q <- apply((solve(varcov) %*% X) * X, 2, sum) logDet <- sum(logb(abs(diag(qr(varcov)[[1]])))) logPDF <- as.vector(Q + d * logb(2 * pi) + logDet)/(-2) if (log) logPDF else exp(logPDF) } LearnBayes/R/discrete.bayes.2.R0000644000176200001440000000117411311757622015677 0ustar liggesusersdiscrete.bayes.2=function(df,prior,y=NULL,...) { like=function(i,...) if(is.matrix(y)==TRUE) df(y[i,],param1,param2,...) else df(y[i],param1,param2,...) n.rows=dim(prior)[1] n.cols=dim(prior)[2] param1=as.numeric(dimnames(prior)[[1]]) param2=as.numeric(dimnames(prior)[[2]]) param1=outer(param1,rep(1,n.cols)) param2=outer(rep(1,n.rows),param2) likelihood=1 if(length(y)>0) { n=ifelse(is.matrix(y)==FALSE,length(y),dim(y)[1]) for(j in 1:n) likelihood=likelihood*like(j,...) } product=prior*likelihood pred=sum(prior*likelihood) prob=prior*likelihood/pred obj=list(prob=prob,pred=pred) class(obj)<-"bayes2" obj }LearnBayes/R/careertraj.setup.R0000644000176200001440000000077110556700166016117 0ustar liggesuserscareertraj.setup=function(data) { Player=data[,1] player.names=names(table(Player)) N=length(player.names) m=max(table(Player)) y=array(0,c(N,m)) n=0*y x=0*y T=rep(0,N) for (i in 1:N) { data1=data[Player==player.names[i],] nk=dim(data1) ni=nk[1] for (j in 1:ni) { y[i,j]=data1[j,10] n[i,j]=data1[j,5]-data1[j,13] x[i,j]=data1[j,3] T[i]=T[i]+(n[i,j]>0) } } return(list(player.names=player.names,y=y,n=n,x=x,T=T,N=N)) }LearnBayes/R/histprior.R0000644000176200001440000000030110537542316014646 0ustar liggesusershistprior=function(p,midpts,prob) { binwidth=midpts[2]-midpts[1] lo=round(10000*(midpts-binwidth/2))/10000 val=0*p for (i in 1:length(p)) { val[i]=prob[sum(p[i]>=lo)] } return(val) }LearnBayes/R/rmnorm.R0000644000176200001440000000033310554300052014126 0ustar liggesusersrmnorm=function(n = 1, mean = rep(0, d), varcov) { d <- if (is.matrix(varcov)) ncol(varcov) else 1 z <- matrix(rnorm(n * d), n, d) %*% chol(varcov) y <- t(mean + t(z)) return(y) } LearnBayes/R/laplace.R0000644000176200001440000000066511411450002014217 0ustar liggesuserslaplace=function (logpost, mode, ...) { options(warn=-1) fit=optim(mode, logpost, gr = NULL, ..., hessian=TRUE, control=list(fnscale=-1)) options(warn=0) mode=fit$par h=-solve(fit$hessian) p=length(mode) int = p/2 * log(2 * pi) + 0.5 * log(det(h)) + logpost(mode, ...) stuff = list(mode = mode, var = h, int = int, converge=fit$convergence==0) return(stuff) }LearnBayes/R/bayes.probit.R0000644000176200001440000000232311070705242015222 0ustar liggesusersbayes.probit=function (y, X, m, prior = list(beta = 0, P = 0)) { rtruncated = function(n, lo, hi, pf, qf, ...) qf(pf(lo, ...) + runif(n) * (pf(hi, ...) - pf(lo, ...)), ...) if (sum(prior$P)==0) log.marg=NULL beta0 = prior$beta BI = prior$P N = length(y) fit = glm(y ~ X - 1, family = binomial(link = probit)) beta.s = fit$coef p = length(beta.s) beta = array(beta.s, c(p, 1)) beta0 = array(beta0, c(p, 1)) BI = array(BI, c(p, p)) Mb = array(0, dim = c(m, p)) lo = c(-Inf, 0) hi = c(0, Inf) LO = lo[y + 1] HI = hi[y + 1] postvar=solve(BI + t(X) %*% X) aa = chol(postvar) BIbeta0 = BI %*% beta0 post.ord=0 for (i in 1:m) { z = rtruncated(N, LO, HI, pnorm, qnorm, X %*% beta, 1) mn = solve(BI + t(X) %*% X, BIbeta0 + t(X) %*% z) beta = t(aa) %*% array(rnorm(p), c(p, 1)) + mn post.ord=post.ord+dmnorm(beta.s,mn,postvar) Mb[i, ] = beta } if (sum(BI)>0) { log.f=sum(y*log(fit$fitted)+(1-y)*log(1-fit$fitted)) log.g=dmnorm(beta.s,beta0,solve(BI),log=TRUE) log.marg=log.f+log.g-log(post.ord/m) } return(list(beta=Mb,log.marg=log.marg)) } LearnBayes/R/prior.two.parameters.R0000644000176200001440000000035111311763630016730 0ustar liggesusersprior.two.parameters = function(parameter1, parameter2) { prior = matrix(1, length(parameter1), length(parameter2)) prior = prior/sum(prior) dimnames(prior)[[1]] = parameter1 dimnames(prior)[[2]] = parameter2 prior }LearnBayes/R/reg.gprior.post.R0000644000176200001440000000056011054061512015661 0ustar liggesusersreg.gprior.post=function(theta,dataprior) { y=dataprior$data$y; X=dataprior$data$X c0=dataprior$prior$c0; beta0=dataprior$prior$b0 beta=theta[-length(theta)]; sigma=exp(theta[length(theta)]) loglike=sum(dnorm(y,mean=X%*%as.vector(beta),sd=sigma,log=TRUE)) logprior=dmnorm(beta,mean=beta0,varcov=c0*sigma^2*solve(t(X)%*%X),log=TRUE) return(loglike+logprior) }LearnBayes/R/triplot.R0000644000176200001440000000110011130237650014306 0ustar liggesuserstriplot=function(prior,data,where="topright") { a=prior[1]; b=prior[2] s=data[1]; f=data[2] p = seq(0.005, 0.995, length = 500) prior=dbeta(p,a,b) like=dbeta(p,s+1,f+1) post=dbeta(p,a+s, b+f) m=max(c(prior,like,post)) plot(p,post,type="l", ylab="Density", lty=2, lwd=3, main=paste("Bayes Triplot, beta(",a,",",b,") prior, s=",s,", f=",f), ylim=c(0,m),col="red") lines(p,like,lty=1, lwd=3,col="blue") lines(p,prior,lty=3, lwd=3,col="green") legend(where,c("Prior","Likelihood","Posterior"), lty=c(3,1,2), lwd=c(3,3,3), col=c("green","blue","red")) }LearnBayes/R/blinregexpected.R0000644000176200001440000000070410537535376016006 0ustar liggesusersblinregexpected=function(X1,theta.sample) { #blinregpred Produces a simulated sample from the posterior # distribution of an expected response for a linear regression model # X1 = design matrix of interest # theta.sample = output of blinreg function d=dim(X1) n1=d[1] m=length(theta.sample$sigma) m1=array(0,c(m,n1)) for (j in 1:n1) { m1[,j]=t(X1[j,]%*%t(theta.sample$beta)) } return(m1) } LearnBayes/R/dmt.R0000644000176200001440000000120610554302212013400 0ustar liggesusersdmt=function (x, mean = rep(0, d), S, df = Inf, log = FALSE) { if (df == Inf) return(dmnorm(x, mean, S, log = log)) d <- if (is.matrix(S)) ncol(S) else 1 if (d > 1 & is.vector(x)) x <- matrix(x, 1, d) n <- if (d == 1) length(x) else nrow(x) X <- t(matrix(x, nrow = n, ncol = d)) - mean Q <- apply((solve(S) %*% X) * X, 2, sum) logDet <- sum(logb(abs(diag(qr(S)$qr)))) logPDF <- (lgamma((df + d)/2) - 0.5 * (d * logb(pi * df) + logDet) - lgamma(df/2) - 0.5 * (df + d) * logb(1 + Q/df)) if (log) logPDF else exp(logPDF) } LearnBayes/R/bradley.terry.post.R0000644000176200001440000000045711112644224016400 0ustar liggesusersbradley.terry.post=function(theta,data) { N=dim(data)[1]; M=length(theta) sigma=exp(theta[M]) logf=function(k) { i=data[k,1]; j=data[k,2] p=exp(theta[i]-theta[j])/(1+exp(theta[i]-theta[j])) data[k,3]*log(p)+data[k,4]*log(1-p) } sum(sapply(1:N,logf))+sum(dnorm(theta[-M],0,sigma,log=TRUE)) } LearnBayes/R/hiergibbs.R0000644000176200001440000000373510537773172014605 0ustar liggesusershiergibbs=function(data,m) { ############################################################### # Implements Gibbs sampling algorithm for posterior of table # of means with hierarchical regression prior # # INPUT # data: 40 by 4 matrix where the observed sample means are # in column 1, sample sizes are in column 2, and values of # two covariates in columns 3 and 4. # m: number of cycles of Gibbs sampling # # OUTPUT # a list with # -- beta: matrix of simulated values of beta with each row a simulated value # -- mu: matrix of simulated values of cell means # -- var: vector of simulated values of second-stage variance sigma^2_pi ############################################################### y=data[,1] # n=data[,2] # x1=data[,3] # x2=data[,4] # defines variables y,n,x1,x2,a X=cbind(1+0*x1,x1,x2) # s2=.65^2/n # p=3; N=length(y) # mbeta=array(0,c(m,p)) # mmu=array(0,c(m,length(n))) # sets up arrays to store simulated draws ms2pi=array(0,c(m,1)) # ######################################## defines prior parameters b1=array(c(.55,.018,.033),c(3,1)) bvar=array(c(8.49e-03,-1.94e-05, -2.88e-04, -1.94e-05, 7.34e-07, -1.52e-06, -2.88e-04,-1.52e-06, 1.71e-05),c(3,3)) ibvar=solve(bvar) s=.02; v=16; mu=y; s2pi=.006 # starting values of mu and s2pi in Gibbs sampling for (j in 1:m) { pvar=solve(ibvar+t(X)%*%X/s2pi) # pmean=pvar%*%(ibvar%*%b1+t(X)%*%mu/s2pi) # simulates beta beta=t(chol(pvar))%*%array(rnorm(p),c(p,1))+pmean # s2pi=(sum((mu-X%*%beta)^2)/2+s/2)/rgamma(1,shape=(N+v)/2) # simulates s2pi postvar=1/(1/s2+1/s2pi) # postmean=(y/s2+X%*%beta/s2pi)*postvar # simulates mu mu=rnorm(n,postmean,sqrt(postvar)) # mbeta[j,]=t(beta) # mmu[j,]=t(mu) # stores simulated draws ms2pi[j]=s2pi # } return(list(beta=mbeta,mu=mmu,var=ms2pi)) } LearnBayes/R/predplot.R0000644000176200001440000000055610735451614014470 0ustar liggesuserspredplot=function(prior,n,yobs) { y=0:n; a=prior[1]; b=prior[2] probs=pbetap(prior,n,y) m=max(probs)*1.05 plot(y,probs,type="h",ylab="Probability",ylim=c(0,m), main=paste("Predictive Dist., beta(",a,",",b,") prior, n=",n, ", yobs=",yobs),lwd=2,col="blue") points(yobs,0,pch=19,cex=2.5,col="red") text(yobs,m/8,"yobs",col="red")}LearnBayes/R/plot.bayes2.R0000644000176200001440000000040411311761100014752 0ustar liggesusersplot.bayes2=function(x,marginal=0,...) if(marginal==0)image(as.numeric(dimnames(x$prob)[[1]]), as.numeric(dimnames(x$prob)[[2]]),x$prob, col=gray(1-(0:32)/32),...) else if(marginal==1) barplot(apply(x$prob,1,sum),...) else barplot(apply(x$prob,2,sum),...)LearnBayes/R/discrete.bayes.R0000644000176200001440000000052211311777614015536 0ustar liggesusersdiscrete.bayes= function (df, prior, y, ...) { param = as.numeric(names(prior)) lk=function(j) prod(df(y,param[j],...)) likelihood=sapply(1:length(param),lk) pred = sum(prior * likelihood) prob = prior * likelihood/pred obj = list(prob = prob, pred = pred) class(obj) <- "bayes" obj } LearnBayes/R/normnormexch.R0000644000176200001440000000033612324477272015356 0ustar liggesusersnormnormexch=function(theta,data){ y=data[,1] sigma2=data[,2] mu=theta[1] tau=exp(theta[2]) logf=function(mu,tau,y,sigma2) dnorm(y,mu,sqrt(sigma2+tau^2),log=TRUE) sum(logf(mu,tau,y,sigma2))+log(tau) }LearnBayes/R/betabinexch.R0000644000176200001440000000060310706716146015106 0ustar liggesusersbetabinexch=function (theta, data) { eta = exp(theta[1])/(1 + exp(theta[1])) K = exp(theta[2]) y = data[, 1] n = data[, 2] N = length(y) logf=function(y,n,K,eta) lbeta(K * eta + y, K * (1 - eta) + n - y)-lbeta(K * eta, K * (1 - eta)) val=sum(logf(y,n,K,eta)) val = val + theta[2] - 2 * log(1 + exp(theta[2])) return(val) } LearnBayes/R/indepmetrop.R0000644000176200001440000000151311411451754015154 0ustar liggesusersindepmetrop=function (logpost, proposal, start, m, ...) { logmultinorm = function(x, m, v) { return(-0.5 * t(x - m) %*% solve(v) %*% (x - m)) } pb = length(start) Mpar = array(0, c(m, pb)) mu = matrix(proposal$mu) if(diff(dim(mu))>0) mu=t(mu) v = proposal$var a = chol(v) f0 = logpost(start, ...) th0 = matrix(t(start)) accept = 0 for (i in 1:m) { th1 = mu + t(a) %*% array(rnorm(pb), c(pb, 1)) f1 = logpost(t(th1), ...) R = exp(logmultinorm(th0, mu, v) - logmultinorm(th1, mu, v) + f1 - f0) u = runif(1) < R if (u == 1) { th0 = th1 f0 = f1 } Mpar[i, ] = th0 accept = accept + u } accept = accept/m return(list(par = Mpar, accept = accept)) } LearnBayes/R/transplantpost.R0000644000176200001440000000142510706716370015730 0ustar liggesuserstransplantpost=function (theta, data) { x = data[, 1] y = data[, 3] t = data[, 2] d = data[, 4] tau = exp(theta[1]) lambda = exp(theta[2]) p = exp(theta[3]) xnt = x[t == 0] dnt = d[t == 0] z = x[t == 1] y = y[t == 1] dt = d[t == 1] logf=function(xnt,dnt,lambda,p) (dnt==0)*(p*log(lambda)+log(p)- (p + 1) * log(lambda + xnt)) + (dnt==1)*p*log(lambda/(lambda + xnt)) logg=function(z,y,tau,lambda,p) (dt==0)*(p * log(lambda) + log(p * tau)-(p + 1) * log(lambda + y + tau * z)) + (dt==1) * p * log(lambda/(lambda + y + tau * z)) val=sum(logf(xnt,dnt,lambda,p))+sum(logg(z,y,tau,lambda,p)) val = val + theta[1] + theta[2] + theta[3] return(val) } LearnBayes/R/regroup.R0000644000176200001440000000044010577472442014320 0ustar liggesusersregroup=function(data,g) { d=dim(data); n=d[1]; m=d[2] N=floor(n/g) dataG=array(0,c(N,m)) k=0 for (j in seq(1,(N-1)*g+1,g)) { k=k+1 for (i in 0:(g-1)) dataG[k,]=dataG[k,]+data[j+i,] } if (n>N*g) { for (i in (N*g+1):n) dataG[N,]=dataG[N,]+data[i,] } return(dataG) } LearnBayes/R/pdisc.R0000644000176200001440000000133210506047142013723 0ustar liggesusers"pdisc" <- function(p,prior,data) { # PDISC Posterior distribution for a proportion with discrete models. # POST = PDISC(P,PRIOR,DATA) returns a vector of posterior probabilities. # P is the vector of values of the proportion, PRIOR is the corresponding # vector of prior probabilities and DATA is the vector of data (number of # successes and failures in set of independent Bernoulli trials #------------------------ # Written by Jim Albert # albert@bgnet.bgsu.edu # November 2004 #------------------------ s=data[1]; f=data[2] p1=p+.5*(p==0)-.5*(p==1) like=s*log(p1)+f*log(1-p1) like=like*(p>0)*(p<1)-999*((p==0)*(s>0)+(p==1)*(f>0)) like=exp(like-max(like)) product=like*prior post=product/sum(product) return(post) } LearnBayes/R/print.bayes.R0000644000176200001440000000004511311722366015062 0ustar liggesusersprint.bayes=function(x,...) x$probLearnBayes/R/pbetat.R0000644000176200001440000000141510540516266014110 0ustar liggesuserspbetat=function(p0,prob,ab,data) { # # PBETAT Performs a test that a proportion is equal to a specific value. # PBETAT(P0,PROB,AB,DATA) gives a vector of the Bayes factor and # the probability of the hypothesis P=P0, where P0 is the proportion # value to be tested, PROB is the prior probability of the hypothesis, # AB is the vector of parameters of the beta density under the # alternative hypothesis, and DATA is the vector of numbers of # successes and failures. #------------------------ # Written by Jim Albert # albert@bgnet.bgsu.edu # November 2004 #------------------------ a=ab[1]; b=ab[2] s=data[1]; f=data[2] lbf=s*log(p0)+f*log(1-p0)+lbeta(a,b)-lbeta(a+s,b+f) bf=exp(lbf) post=prob*bf/(prob*bf+1-prob) return(list(bf=bf,post=post)) } LearnBayes/R/rmt.R0000644000176200001440000000041710554301160013422 0ustar liggesusersrmt=function (n = 1, mean = rep(0, d), S, df = Inf) { d <- if (is.matrix(S)) ncol(S) else 1 if (df == Inf) x <- 1 else x <- rchisq(n, df)/df z <- rmnorm(n, rep(0, d), S) y <- t(mean + t(z/sqrt(x))) return(y) } LearnBayes/R/weibullregpost.R0000644000176200001440000000067210706716376015714 0ustar liggesusersweibullregpost=function (theta, data) { logf=function(t,c,x,sigma,mu,beta) { z=(log(t)-mu-x%*%beta)/sigma f=1/sigma*exp(z-exp(z)) S=exp(-exp(z)) c*log(f)+(1-c)*log(S) } k = dim(data)[2] p = k - 2 t = data[, 1] c = data[, 2] X = data[, 3:k] sigma = exp(theta[1]) mu = theta[2] beta = array(theta[3:k], c(p,1)) return(sum(logf(t,c,X,sigma,mu,beta))) } LearnBayes/R/logisticpost.R0000644000176200001440000000053310706716306015355 0ustar liggesuserslogisticpost=function (beta, data) { x = data[, 1] n = data[, 2] y = data[, 3] beta0 = beta[1] beta1 = beta[2] logf=function(x,n,y,beta0,beta1) { lp = beta0 + beta1 * x p = exp(lp)/(1 + exp(lp)) y * log(p) + (n - y) * log(1 - p) } return(sum(logf(x,n,y,beta0,beta1))) } LearnBayes/R/ctable.R0000644000176200001440000000142210537537544014071 0ustar liggesusersctable=function(y,a) # # C_TABLE Bayes factor for testing independence in a contingency table. # BF=C_TABLE(Y,A) returns the Bayes factor BF against independence in a # 2-way contingency table using uniform priors, where Y is a matrix # containing the 2-way table, and A is a matrix of prior parameters #------------------------ # Written by Jim Albert # albert@bgnet.bgsu.edu # November 2004 #------------------------ { ldirich=function(a) { val=sum(lgamma(a))-lgamma(sum(a)) return(val) } ac=colSums(a); ar=rowSums(a) yc=colSums(y); yr=rowSums(y) d=dim(y); oc=1+0*yc; or=1+0*yr; I=d[1];J=d[2] lbf=ldirich(c(y)+c(a))+ldirich(ar-(J-1)*or)+ldirich(ac-(I-1)*oc)- ldirich(c(a))-ldirich(yr+ar-(J-1)*or)-ldirich(yc+ac-(I-1)*oc) bf=exp(lbf) return(bf) } LearnBayes/R/logpoissgamma.R0000644000176200001440000000036710576544442015506 0ustar liggesuserslogpoissgamma=function(theta,datapar) { y=datapar$data npar=datapar$par lambda=exp(theta) loglike=log(dgamma(lambda,shape=sum(y)+1,rate=length(y))) logprior=log(dgamma(lambda,shape=npar[1],rate=npar[2])*lambda) return(loglike+logprior) } LearnBayes/demo/0000755000176200001440000000000013135721016013222 5ustar liggesusersLearnBayes/demo/Chapter.4.4.R0000644000176200001440000000341211127273754015251 0ustar liggesusers################################################### # Section 4.4 A Bioassay Experiment ################################################### library(LearnBayes) x = c(-0.86, -0.3, -0.05, 0.73) n = c(5, 5, 5, 5) y = c(0, 1, 3, 5) data = cbind(x, n, y) glmdata = cbind(y, n - y) results = glm(glmdata ~ x, family = binomial) summary(results) # when x = -.7, median and 90th percentile of p are (.2,.4) # when x = +.6, median and 90th percentile of p are (.8, .95) a1.b1=beta.select(list(p=.5,x=.2),list(p=.9,x=.5)) a2.b2=beta.select(list(p=.5,x=.8),list(p=.9,x=.98)) prior=rbind(c(-0.7, 4.68, 1.12), c(0.6, 2.10, 0.74)) data.new=rbind(data, prior) # plot prior ####################################### plot(c(-1,1),c(0,1),type="n",xlab="Dose",ylab="Prob(death)") lines(-0.7*c(1,1),qbeta(c(.25,.75),a1.b1[1],a1.b1[2]),lwd=4) lines(0.6*c(1,1),qbeta(c(.25,.75),a2.b2[1],a2.b2[2]),lwd=4) points(c(-0.7,0.6),qbeta(.5,c(a1.b1[1],a2.b2[1]),c(a1.b1[2],a2.b2[2])), pch=19,cex=2) text(-0.3,.2,"Beta(1.12, 3.56)") text(.2,.8,"Beta(2.10, 0.74)") response=rbind(a1.b1,a2.b2) x=c(-0.7,0.6) fit = glm(response ~ x, family = binomial) curve(exp(fit$coef[1]+fit$coef[2]*x)/ (1+exp(fit$coef[1]+fit$coef[2]*x)),add=T) ####################################################### S=readline(prompt="Type to continue : ") windows() mycontour(logisticpost,c(-3,3,-1,9),data.new, xlab="beta0", ylab="beta1") s=simcontour(logisticpost,c(-2,3,-1,11),data.new,1000) points(s) S=readline(prompt="Type to continue : ") windows() plot(density(s$y),xlab="beta1") S=readline(prompt="Type to continue : ") theta=-s$x/s$y windows() hist(theta,xlab="LD-50",breaks=20) quantile(theta,c(.025,.975)) LearnBayes/demo/Chapter.4.3.R0000644000176200001440000000156011127272336015245 0ustar liggesusers################################################### # Section 4.3 A Multinomial Model ################################################### library(LearnBayes) alpha = c(728, 584, 138) theta = rdirichlet(1000, alpha) hist(theta[, 1] - theta[, 2], main="") S=readline(prompt="Type to continue : ") ########################################### data(election.2008) attach(election.2008) prob.Obama=function(j) { p=rdirichlet(5000, 500*c(M.pct[j],O.pct[j],100-M.pct[j]-O.pct[j])/100+1) mean(p[,2]>p[,1]) } Obama.win.probs=sapply(1:51,prob.Obama) sim.election=function() { winner=rbinom(51,1,Obama.win.probs) sum(EV*winner) } sim.EV=replicate(1000,sim.election()) windows() hist(sim.EV,min(sim.EV):max(sim.EV),col="blue") abline(v=365,lwd=3) # Obama received 365 votes text(375,30,"Actual \n Obama \n total") LearnBayes/demo/Chapter.3.4.R0000644000176200001440000000322011127272272015237 0ustar liggesusers#################################################### # Section 3.4 An Illustration of Bayesian Robustness #################################################### library(LearnBayes) quantile1=list(p=.5,x=100); quantile2=list(p=.95,x=120) normal.select(quantile1, quantile2) mu = 100 tau = 12.16 sigma = 15 n = 4 se = sigma/sqrt(4) ybar = c(110, 125, 140) tau1 = 1/sqrt(1/se^2 + 1/tau^2) mu1 = (ybar/se^2 + mu/tau^2) * tau1^2 summ1=cbind(ybar, mu1, tau1) summ1 tscale = 20/qt(0.95, 2) tscale par(mfrow=c(1,1)) curve(1/tscale*dt((x-mu)/tscale,2), from=60, to=140, xlab="theta", ylab="Prior Density") curve(dnorm(x,mean=mu,sd=tau), add=TRUE, lwd=3) legend("topright",legend=c("t density","normal density"), lwd=c(1,3)) S=readline(prompt="Type to continue : ") norm.t.compute=function(ybar) { theta = seq(60, 180, length = 500) like = dnorm(theta,mean=ybar,sd=sigma/sqrt(n)) prior = dt((theta - mu)/tscale, 2) post = prior * like post = post/sum(post) m = sum(theta * post) s = sqrt(sum(theta^2 * post) - m^2) c(ybar, m, s) } summ2=t(sapply(c(110, 125, 140),norm.t.compute)) dimnames(summ2)[[2]]=c("ybar","mu1 t","tau1 t") summ2 cbind(summ1,summ2) theta=seq(60, 180, length=500) normpost = dnorm(theta, mu1[3], tau1) normpost = normpost/sum(normpost) windows() plot(theta,normpost,type="l",lwd=3,ylab="Posterior Density") like = dnorm(theta,mean=140,sd=sigma/sqrt(n)) prior = dt((theta - mu)/tscale, 2) tpost = prior * like / sum(prior * like) lines(theta,tpost) legend("topright",legend=c("t prior","normal prior"),lwd=c(1,3)) LearnBayes/demo/Chapter.8.6.R0000644000176200001440000000133111106370214015237 0ustar liggesusers################################################# # Section 8.6 Models for Soccer Goals ################################################# library(LearnBayes) data(soccergoals) attach(soccergoals) datapar=list(data=goals,par=c(4.57,1.43)) fit1=laplace(logpoissgamma,.5,datapar) datapar=list(data=goals,par=c(1,.5)) fit2=laplace(logpoissnormal,.5,datapar) datapar=list(data=goals,par=c(2,.5)) fit3=laplace(logpoissnormal,.5,datapar) datapar=list(data=goals,par=c(1,2)) fit4=laplace(logpoissnormal,.5,datapar) postmode=c(fit1$mode,fit2$mode,fit3$mode,fit4$mode) postsd=sqrt(c(fit1$var,fit2$var,fit3$var,fit4$var)) logmarg=c(fit1$int,fit2$int,fit3$int,fit4$int) cbind(postmode,postsd,logmarg) LearnBayes/demo/Chapter.5.6.R0000644000176200001440000000065511106346072015251 0ustar liggesusers###################################################### # Section 5.6 The Example ###################################################### library(LearnBayes) data(cancermortality) fit=laplace(betabinexch,c(-7,6),cancermortality) fit npar=list(m=fit$mode,v=fit$var) mycontour(lbinorm,c(-8,-4.5,3,16.5),npar, xlab="logit eta", ylab="log K") se=sqrt(diag(fit$var)) fit$mode-1.645*se fit$mode+1.645*se LearnBayes/demo/Chapter.8.3.R0000644000176200001440000000170011106370000015225 0ustar liggesusers############################################### # Section 8.3 A One-Sided Test of a Normal Mean ############################################### library(LearnBayes) pmean=170; pvar=25 probH=pnorm(175,pmean,sqrt(pvar)) probA=1-probH prior.odds=probH/probA prior.odds weights=c(182, 172, 173, 176, 176, 180, 173, 174, 179, 175) xbar=mean(weights) sigma2=3^2/length(weights) post.precision=1/sigma2+1/pvar post.var=1/post.precision post.mean=(xbar/sigma2+pmean/pvar)/post.precision c(post.mean,sqrt(post.var)) post.odds=pnorm(175,post.mean,sqrt(post.var))/ (1-pnorm(175,post.mean,sqrt(post.var))) post.odds BF = post.odds/prior.odds BF postH=probH*BF/(probH*BF+probA) postH z=sqrt(length(weights))*(mean(weights)-175)/3 1-pnorm(z) weights=c(182, 172, 173, 176, 176, 180, 173, 174, 179, 175) data=c(mean(weights),length(weights),3) prior.par=c(170,1000) mnormt.onesided(175,prior.par,data) LearnBayes/demo/Chapter.9.4.R0000644000176200001440000000134311127237534015253 0ustar liggesusers############################################## # Section 9.4 Survival Modeling ############################################## library(LearnBayes) data(chemotherapy) attach(chemotherapy) library(survival) survreg(Surv(time,status)~factor(treat)+age,dist="weibull") start=c(-.5,9,.5,-.05) d=cbind(time,status,treat-1,age) fit=laplace(weibullregpost,start,d) fit proposal=list(var=fit$var,scale=1.5) bayesfit=rwmetrop(weibullregpost,proposal,fit$mode,10000,d) bayesfit$accept par(mfrow=c(2,2)) sigma=exp(bayesfit$par[,1]) mu=bayesfit$par[,2] beta1=bayesfit$par[,3] beta2=bayesfit$par[,4] hist(beta1,xlab="treatment",main="") hist(beta2,xlab="age",main="") hist(sigma,xlab="sigma",main="") LearnBayes/demo/Chapter.3.5.R0000644000176200001440000000133511127272306015243 0ustar liggesusers####################################################### # Section 3.5 Mixtures of Conjugate Priors ####################################################### library(LearnBayes) curve(.5*dbeta(x, 6, 14) + .5*dbeta(x, 14, 6), from=0, to=1, xlab="P", ylab="Density") S=readline(prompt="Type to continue : ") probs=c(.5,.5) beta.par1=c(6, 14) beta.par2=c(14, 6) betapar=rbind(beta.par1, beta.par2) data=c(7,3) post=binomial.beta.mix(probs,betapar,data) post windows() curve(post$probs[1]*dbeta(x,13,17)+post$probs[2]*dbeta(x,21,9), from=0, to=1, lwd=3, xlab="P", ylab="DENSITY") curve(.5*dbeta(x,6,12)+.5*dbeta(x,12,6),0,1,add=TRUE) legend("topleft",legend=c("Prior","Posterior"),lwd=c(1,3)) LearnBayes/demo/Chapter.5.9.R0000644000176200001440000000300611106346666015256 0ustar liggesusers############################################# # Section 5.9 Importance Sampling ############################################# library(LearnBayes) data(cancermortality) fit=laplace(betabinexch,c(-7,6),cancermortality) betabinexch.cond=function (log.K, data) { eta = exp(-6.818793)/(1 + exp(-6.818793)) K = exp(log.K) y = data[, 1]; n = data[, 2]; N = length(y) logf=0*log.K for (j in 1:length(y)) logf = logf + lbeta(K * eta + y[j], K * (1 - eta) + n[j] - y[j]) - lbeta(K * eta, K * (1 - eta)) val = logf + log.K - 2 * log(1 + K) return(exp(val-max(val))) } I=integrate(betabinexch.cond,2,16,cancermortality) par(mfrow=c(2,2)) curve(betabinexch.cond(x,cancermortality)/I$value,from=3,to=16, ylab="Density", xlab="log K",lwd=3, main="Densities") curve(dnorm(x,8,2),add=TRUE) legend("topright",legend=c("Exact","Normal"),lwd=c(3,1)) curve(betabinexch.cond(x,cancermortality)/I$value/ dnorm(x,8,2),from=3,to=16, ylab="Weight",xlab="log K", main="Weight = g/p") curve(betabinexch.cond(x,cancermortality)/I$value,from=3,to=16, ylab="Density", xlab="log K",lwd=3, main="Densities") curve(1/2*dt(x-8,df=2),add=TRUE) legend("topright",legend=c("Exact","T(2)"),lwd=c(3,1)) curve(betabinexch.cond(x,cancermortality)/I$value/ (1/2*dt(x-8,df=2)),from=3,to=16, ylab="Weight",xlab="log K", main="Weight = g/p") tpar=list(m=fit$mode,var=2*fit$var,df=4) myfunc=function(theta) return(theta[2]) s=impsampling(betabinexch,tpar,myfunc,10000,cancermortality) cbind(s$est,s$se) LearnBayes/demo/Chapter.7.4.R0000644000176200001440000000130711127266602015247 0ustar liggesusers############################################## # Section 7.4 Equal Mortality Rates? ############################################## library(LearnBayes) data(hearttransplants) attach(hearttransplants) sum(y) sum(e) lambda=rgamma(1000,shape=277,rate=294681) ys94=rpois(1000,e[94]*lambda) hist(ys94,breaks=seq(0.5,max(ys94)+0.5)) lines(c(y[94],y[94]),c(0,120),lwd=3) S=readline(prompt="Type to continue : ") lambda=rgamma(1000,shape=277,rate=294681) prob.out=function(i) { ysi=rpois(1000,e[i]*lambda) pleft=sum(ysi<=y[i])/1000 pright=sum(ysi>=y[i])/1000 min(pleft,pright) } pout=sapply(1:94,prob.out) windows() plot(log(e),pout,ylab="Prob(extreme)") LearnBayes/demo/Chapter.8.8.R0000644000176200001440000000104411106370646015253 0ustar liggesusers################################################################### # Section 8.8 A Test of Independence in a Two-Way Contingency Table ################################################################### library(LearnBayes) data=matrix(c(11,9,68,23,3,5),c(2,3)) data chisq.test(data) a=matrix(rep(1,6),c(2,3)) a ctable(data,a) log.K=seq(2,7) compute.log.BF=function(log.K) log(bfindep(data,exp(log.K),100000)$bf) log.BF=sapply(log.K,compute.log.BF) BF=exp(log.BF) round(data.frame(log.K,log.BF,BF),2)LearnBayes/demo/Chapter.8.4.R0000644000176200001440000000051411106370070015237 0ustar liggesusers################################################# # Section 8.4 A Two-Sided Test of a Normal Mean ################################################# library(LearnBayes) weights=c(182, 172, 173, 176, 176, 180, 173, 174, 179, 175) data=c(mean(weights),length(weights),3) t=c(.5,1,2,4,8) mnormt.twosided(170,.5,t,data) LearnBayes/demo/Chapter.6.7.R0000644000176200001440000000164111106351254015245 0ustar liggesusers################################################################## # Section 6.7 Learning about a Normal Population from Grouped Data ################################################################## library(LearnBayes) d=list(int.lo=c(-Inf,seq(66,74,by=2)), int.hi=c(seq(66,74,by=2), Inf), f=c(14,30,49,70,33,15)) y=c(rep(65,14),rep(67,30),rep(69,49),rep(71,70),rep(73,33), rep(75,15)) mean(y) log(sd(y)) start=c(70,1) fit=laplace(groupeddatapost,start,d) fit modal.sds=sqrt(diag(fit$var)) proposal=list(var=fit$var,scale=2) fit2=rwmetrop(groupeddatapost,proposal,start,10000,d) fit2$accept post.means=apply(fit2$par,2,mean) post.sds=apply(fit2$par,2,sd) cbind(c(fit$mode),modal.sds) cbind(post.means,post.sds) mycontour(groupeddatapost,c(69,71,.6,1.3),d, xlab="mu",ylab="log sigma") points(fit2$par[5001:10000,1],fit2$par[5001:10000,2]) LearnBayes/demo/Chapter.9.3.R0000644000176200001440000000202015136741523015245 0ustar liggesusers############################################## # Section 9.3 Modeling Using Zellner's g Prior ############################################## library(LearnBayes) # illustrating the role of the parameter c data(puffin) X=cbind(1, puffin$Distance - mean(puffin$Distance)) c.prior=c(0.1,0.5,5,2) fit=vector("list",4) for (j in 1:4) { prior=list(b0=c(8,0), c0=c.prior[j]) fit[[j]]=blinreg(puffin$Nest, X, 1000, prior) } BETA=NULL for (j in 1:4) { s=data.frame(Prior=paste("c =",as.character(c.prior[j])), beta0=fit[[j]]$beta[,1],beta1=fit[[j]]$beta[,2]) BETA=rbind(BETA,s) } with(BETA,lattice::xyplot(beta1~beta0|Prior,type=c("p","g"),col="black")) S=readline(prompt="Type to continue : ") # model selection data=list(y=puffin$Nest, X=cbind(1,puffin$Grass,puffin$Soil)) prior=list(b0=c(0,0,0), c0=100) beta.start=with(puffin,lm(Nest~Grass+Soil)$coef) laplace(reg.gprior.post,c(beta.start,0),list(data=data,prior=prior))$int X=puffin[,-1]; y=puffin$Nest; c=100 bayes.model.selection(y,X,c,constant=FALSE) LearnBayes/demo/Chapter.2.6.R0000644000176200001440000000115511106332434015237 0ustar liggesusers######################## # Section 2.6 Prediction ######################## library(LearnBayes) p=seq(0.05, 0.95, by=.1) prior = c(1, 5.2, 8, 7.2, 4.6, 2.1, 0.7, 0.1, 0, 0) prior=prior/sum(prior) m=20; ys=0:20 pred=pdiscp(p, prior, m, ys) cbind(0:20,pred) ab=c(3.26, 7.19) m=20; ys=0:20 pred=pbetap(ab, m, ys) p=rbeta(1000,3.26, 7.19) y = rbinom(1000, 20, p) table(y) freq=table(y) ys=as.integer(names(freq)) predprob=freq/sum(freq) plot(ys,predprob,type="h",xlab="y", ylab="Predictive Probability") dist=cbind(ys,predprob) covprob=.9 discint(dist,covprob) LearnBayes/demo/00Index0000644000176200001440000000453211127271034014357 0ustar liggesusersChapter.1.2 Exploring a Student Dataset Chapter.1.3 Exploring the Robustness of the t Statistic Chapter.2.3 Learning About a Proportion - Using a Discrete Prior Chapter.2.4 Learning About a Proportion - Using a Beta Prior Chapter.2.5 Learning About a Proportion - Using a Histogram Prior Chapter.2.6 Learning About a Proportion - Prediction Chapter.3.2 Normal Distribution with Known Mean, Unknown Variance Chapter.3.3 Estimating a Heart Transplant Mortality Rate Chapter.3.4 Learning about a Normal Mean with Known Variance Chapter.3.5 Mixtures of Conjugate Priors Chapter.3.6 A Bayesian Test of the Fairness of a Coin Chapter.4.2 Normal Data with Both Parameters Unknown Chapter.4.3 A Multinomial Model Chapter.4.4 A Bioassay Experiment Chapter.4.5 Comparing Two Proportions Chapter.5.4 A Beta-Binomial Model for Overdispersion Chapter.5.6 Approximations Based on Posterior Modes for Beta-Binomial Model Chapter.5.7 Monte Carlo Method for Computing Integrals Chapter.5.8 Rejection Sampling Chapter.5.9 Importance Sampling Chapter.5.10 Sampling Importance Resampling Chapter.6.2 Discrete Markov Chains Chapter.6.7 MCMC - Learning About a Normal Population Based on Grouped Data Chapter.6.8 MCMC Output Analysis Chapter.6.9 Modeling Data with Cauchy Errors Chapter.6.10 Analysis of the Stanford Heart Transplant Data Chapter.7.2 Introduction to Career Trajectory Example Chapter.7.3 Introduction to Heart Transplant Mortality Data Chapter.7.4 Checking Assumption of Equal Mortality Rates Chapter.7.5 Exchangeable Model for Mortality Rates Chapter.7.7 Simulating from Posterior from Exchangeable Model Chapter.7.8 Illustration of Posterior Inferences Chapter.7.9 Bayesian Sensitivity Analysis Chapter.7.10 Posterior Predictive Model Checking Chapter.8.3 One-Sided Test of a Normal Mean Chapter.8.4 Two-Sided Test of a Normal Mean Chapter.8.6 Models for Soccer Goal Scoring Chapter.8.7 Test if Baseball Player is Streaky Chapter.8.8 Test of Independence in a Two-Way Contingency Table Chapter.9.2 Normal Linear Regression Chapter.9.3 Model Selection Using Zellner's g Prior Chapter.9.4 Survival Modeling Chapter.10.2 Robust Modeling Chapter.10.3 Binary Response Regression with Probit Link Chapter.10.4 Estimating Table of Means with Belief of Order Restriction LearnBayes/demo/Chapter.3.2.R0000644000176200001440000000070711106333562015241 0ustar liggesusers###################################################################### # Section 3.2 Normal Distribution with Known Mean but Unknown Variance ###################################################################### library(LearnBayes) data(footballscores) attach(footballscores) d = favorite - underdog - spread n = length(d) v = sum(d^2) P = rchisq(1000, n)/v s = sqrt(1/P) hist(s) quantile(s, probs = c(0.025, 0.5, 0.975)) LearnBayes/demo/Chapter.5.10.R0000644000176200001440000000106511106347330015316 0ustar liggesusers############################################## # Section 5.10 Sampling Importance Resampling ############################################## library(LearnBayes) data(cancermortality) fit=laplace(betabinexch,c(-7,6),cancermortality) tpar=list(m=fit$mode,var=2*fit$var,df=4) theta.s=sir(betabinexch,tpar,10000,cancermortality) S=bayes.influence(theta.s,cancermortality) plot(c(0,0,0),S$summary,type="b",lwd=3,xlim=c(-1,21), ylim=c(5,11), xlab="Observation removed",ylab="log K") for (i in 1:20) lines(c(i,i,i),S$summary.obs[i,],type="b") LearnBayes/demo/Chapter.5.8.R0000644000176200001440000000150511106346626015253 0ustar liggesusers######################################################### # Section 5.8 Rejection Sampling ######################################################### library(LearnBayes) data(cancermortality) fit=laplace(betabinexch,c(-7,6),cancermortality) betabinT=function(theta,datapar) { data=datapar$data tpar=datapar$par d=betabinexch(theta,data)-dmt(theta,mean=c(tpar$m), S=tpar$var,df=tpar$df,log=TRUE) return(d) } tpar=list(m=fit$mode,var=2*fit$var,df=4) datapar=list(data=cancermortality,par=tpar) start=c(-6.9,12.4) fit1=laplace(betabinT,start,datapar) fit1$mode betabinT(fit1$mode,datapar) theta=rejectsampling(betabinexch,tpar,-569.2813,10000,cancermortality) dim(theta) mycontour(betabinexch,c(-8,-4.5,3,16.5),cancermortality, xlab="logit eta",ylab="log K") points(theta[,1],theta[,2]) LearnBayes/demo/Chapter.6.10.R0000644000176200001440000000203111127266510015314 0ustar liggesusers############################################################# # Section 6.10 Analysis of the Stanford Heart Transplant Data ############################################################# library(LearnBayes) data(stanfordheart) start=c(0,3,-1) laplacefit=laplace(transplantpost,start,stanfordheart) laplacefit proposal=list(var=laplacefit$var,scale=2) s=rwmetrop(transplantpost,proposal,start,10000,stanfordheart) s$accept par(mfrow=c(2,2)) tau=exp(s$par[,1]) plot(density(tau),main="TAU") lambda=exp(s$par[,2]) plot(density(lambda),main="LAMBDA") p=exp(s$par[,3]) plot(density(p),main="P") apply(exp(s$par),2,quantile,c(.05,.5,.95)) S=readline(prompt="Type to continue : ") par(mfrow=c(1,1)) t=seq(1,240) p5=0*t; p50=0*t; p95=0*t for (j in 1:240) { S=(lambda/(lambda+t[j]))^p q=quantile(S,c(.05,.5,.95)) p5[j]=q[1]; p50[j]=q[2]; p95[j]=q[3]} windows() plot(t,p50,type="l",ylim=c(0,1),ylab="Prob(Survival)", xlab="time") lines(t,p5,lty=2) lines(t,p95,lty=2) LearnBayes/demo/Chapter.2.4.R0000644000176200001440000000131411127217336015240 0ustar liggesusers################################ # Section 2.4 Using a Beta Prior ############################# library(LearnBayes) quantile2=list(p=.9,x=.5) quantile1=list(p=.5,x=.3) ab=beta.select(quantile1,quantile2) a = ab[1] b = ab[2] s = 11 f = 16 curve(dbeta(x,a+s,b+f), from=0, to=1, xlab="p",ylab="Density",lty=1,lwd=4) curve(dbeta(x,s+1,f+1),add=TRUE,lty=2,lwd=4) curve(dbeta(x,a,b),add=TRUE,lty=3,lwd=4) legend(.7,4,c("Prior","Likelihood","Posterior"), lty=c(3,2,1),lwd=c(3,3,3)) 1 - pbeta(0.5, a + s, b + f) qbeta(c(0.05, 0.95), a + s, b + f) ps = rbeta(1000, a + s, b + f) windows() hist(ps,xlab="p") sum(ps >= 0.5)/1000 quantile(ps, c(0.05, 0.95)) LearnBayes/demo/Chapter.5.4.R0000644000176200001440000000072611127272406015250 0ustar liggesusers##################################################### # Section 5.4 A Beta-Binomial Model for Overdispersion ##################################################### library(LearnBayes) data(cancermortality) mycontour(betabinexch0,c(.0001,.003,1,20000),cancermortality, xlab="eta",ylab="K") S=readline(prompt="Type to continue : ") windows() mycontour(betabinexch,c(-8,-4.5,3,16.5),cancermortality, xlab="logit eta",ylab="log K") LearnBayes/demo/Chapter.4.2.R0000644000176200001440000000111311106344376015237 0ustar liggesusers###################################################### # Section 4.2 Normal Data with Both Parameters Unknown ###################################################### library(LearnBayes) data(marathontimes) attach(marathontimes) d = mycontour(normchi2post, c(220, 330, 500, 9000), time, xlab="mean",ylab="variance") S = sum((time - mean(time))^2) n = length(time) sigma2 = S/rchisq(1000, n - 1) mu = rnorm(1000, mean = mean(time), sd = sqrt(sigma2)/sqrt(n)) points(mu, sigma2) quantile(mu, c(0.025, 0.975)) quantile(sqrt(sigma2), c(0.025, 0.975)) LearnBayes/demo/Chapter.7.5.R0000644000176200001440000000103511106353124015237 0ustar liggesusers######################################################## # Section 7.5 Modeling a Prior Belief of Exchangeability ######################################################## library(LearnBayes) pgexchprior=function(lambda,pars) { alpha=pars[1]; a=pars[2]; b=pars[3] (alpha-1)*log(prod(lambda))-(2*alpha+a)*log(alpha*sum(lambda)+b) } alpha=c(5,20,80,400); par(mfrow=c(2,2)) for (j in 1:4) mycontour(pgexchprior,c(.001,5,.001,5),c(alpha[j],10,10), main=paste("ALPHA = ",alpha[j]),xlab="LAMBDA 1",ylab="LAMBDA 2") LearnBayes/demo/Chapter.8.7.R0000644000176200001440000000073211106370356015253 0ustar liggesusers################################################### # Section 8.7 Is a Baseball Hitter Really Streaky? ################################################### library(LearnBayes) data(jeter2004) attach(jeter2004) data=cbind(H,AB) data1=regroup(data,5) log.marg=function(logK) laplace(bfexch,0,list(data=data1,K=exp(logK)))$int log.K=seq(2,6) K=exp(log.K) log.BF=sapply(log.K,log.marg) BF=exp(log.BF) round(data.frame(log.K,K,log.BF,BF),2)LearnBayes/demo/Chapter.7.8.R0000644000176200001440000000260411127267064015257 0ustar liggesusers########################################################## # Section 7.8 Posterior Inferences ########################################################## library(LearnBayes) data(hearttransplants) attach(hearttransplants) datapar = list(data = hearttransplants, z0 = 0.53) start=c(2, -7) fit = laplace(poissgamexch, start, datapar) fit par(mfrow = c(1, 1)) mycontour(poissgamexch, c(0, 8, -7.3, -6.6), datapar, xlab="log alpha",ylab="log mu") S=readline(prompt="Type to continue : ") start = c(4, -7) fitgibbs = gibbs(poissgamexch, start, 1000, c(1,.15), datapar) alpha = exp(fitgibbs$par[, 1]) mu = exp(fitgibbs$par[, 2]) shrink=function(i) mean(alpha/(alpha + e[i] * mu)) shrinkage=sapply(1:94, shrink) S=readline(prompt="Type to continue : ") windows() plot(log(e), shrinkage) mrate=function(i) mean(rgamma(1000, y[i] + alpha, e[i] + alpha/mu)) hospital=1:94 meanrate=sapply(hospital,mrate) hospital[meanrate==min(meanrate)] ########################################################### sim.lambda=function(i) rgamma(1000,y[i]+alpha,e[i]+alpha/mu) LAM=sapply(1:94,sim.lambda) compare.rates <- function(x) { nc <- NCOL(x) ij <- as.matrix(expand.grid(1:nc, 1:nc)) m <- as.matrix(x[,ij[,1]] > x[,ij[,2]]) matrix(colMeans(m), nc, nc, byrow = TRUE) } better=compare.rates(LAM) better[1:24,85] LearnBayes/demo/Chapter.6.9.R0000644000176200001440000000305411127267702015256 0ustar liggesusers################################################### # Section 6.9 Modeling Data with Cauchy Errors ################################################### library(LearnBayes) data(darwin) attach(darwin) mean(difference) log(sd(difference)) laplace(cauchyerrorpost,c(21.6,3.6),difference) laplace(cauchyerrorpost,.1*c(21.6,3.6),difference)$mode c(24.7-4*sqrt(34.96),24.7+4*sqrt(34.96)) c(2.77-4*sqrt(.138),2.77+4*sqrt(.138)) mycontour(cauchyerrorpost,c(-10,60,1,4.5),difference, xlab="mu",ylab="log sigma") S=readline(prompt="Type to continue : ") fitlaplace=laplace(cauchyerrorpost,c(21.6,3.6), difference) windows() mycontour(lbinorm,c(-10,60,1,4.5),list(m=fitlaplace$mode, v=fitlaplace$var), xlab="mu",ylab="log sigma") proposal=list(var=fitlaplace$var,scale=2.5) start=c(20,3) m=1000 s=rwmetrop(cauchyerrorpost,proposal,start,m,difference) S=readline(prompt="Type to continue : ") windows() mycontour(cauchyerrorpost,c(-10,60,1,4.5),difference, xlab="mu",ylab="log sigma") points(s$par[,1],s$par[,2]) fitgrid=simcontour(cauchyerrorpost,c(-10,60,1,4.5),difference, 50000) proposal=list(var=fitlaplace$var,scale=2.5) start=c(20,3) fitrw=rwmetrop(cauchyerrorpost,proposal,start,50000, difference) proposal2=list(var=fitlaplace$var,mu=t(fitlaplace$mode)) fitindep=indepmetrop(cauchyerrorpost,proposal2,start,50000, difference) fitgibbs=gibbs(cauchyerrorpost,start,50000,c(12,.75), difference) apply(fitrw$par,2,mean) apply(fitrw$par,2,sd) LearnBayes/demo/Chapter.6.8.R0000644000176200001440000000260111127272506015250 0ustar liggesusers################################################## # Section 6.8 Example of Output Analysis ################################################## library(LearnBayes) d=list(int.lo=c(-Inf,seq(66,74,by=2)), int.hi=c(seq(66,74,by=2), Inf), f=c(14,30,49,70,33,15)) library(coda) library(lattice) start=c(70,1) fit=laplace(groupeddatapost,start,d) start=c(65,1) proposal=list(var=fit$var,scale=0.2) bayesfit=rwmetrop(groupeddatapost,proposal,start,10000,d) dimnames(bayesfit$par)[[2]]=c("mu","log sigma") xyplot(mcmc(bayesfit$par[-c(1:2000),]),col="black") S=readline(prompt="Type to continue : ") windows() par(mfrow=c(2,1)) autocorr.plot(mcmc(bayesfit$par[-c(1:2000),]),auto.layout=FALSE) summary(mcmc(bayesfit$par[-c(1:2000),])) batchSE(mcmc(bayesfit$par[-c(1:2000),]), batchSize=50) S=readline(prompt="Type to continue : ") start=c(70,1) proposal=list(var=fit$var,scale=2.0) bayesfit=rwmetrop(groupeddatapost,proposal,start,10000,d) dimnames(bayesfit$par)[[2]]=c("mu","log sigma") sim.parameters=mcmc(bayesfit$par[-c(1:2000),]) windows() xyplot(mcmc(bayesfit$par[-c(1:2000),]),col="black") s=readline(prompt="Type to continue : ") windows() par(mfrow=c(2,1)) autocorr.plot(sim.parameters,auto.layout=FALSE) summary(sim.parameters) batchSE(sim.parameters, batchSize=50) LearnBayes/demo/Chapter.7.3.R0000644000176200001440000000051411106543744015247 0ustar liggesusers############################################## # Section 7.3 Individual or Combined Estimates ############################################## library(LearnBayes) data(hearttransplants) attach(hearttransplants) plot(log(e), y/e, xlim=c(6,9.7), xlab="log(e)", ylab="y/e") text(log(e),y/e,labels=as.character(y),pos=4) LearnBayes/demo/Chapter.1.3.R0000644000176200001440000000270711127272142015241 0ustar liggesusers# Chapter 1.3 R commands # Section 1.3.2 x=rnorm(10,mean=50,sd=10) y=rnorm(10,mean=50,sd=10) m=length(x) n=length(y) sp=sqrt(((m-1)*sd(x)^2+(n-1)*sd(y)^2)/(m+n-2)) t.stat=(mean(x)-mean(y))/(sp*sqrt(1/m+1/n)) tstatistic=function(x,y) { m=length(x) n=length(y) sp=sqrt(((m-1)*sd(x)^2+(n-1)*sd(y)^2)/(m+n-2)) t.stat=(mean(x)-mean(y))/(sp*sqrt(1/m+1/n)) return(t.stat) } data.x=c(1,4,3,6,5) data.y=c(5,4,7,6,10) tstatistic(data.x, data.y) S=readline(prompt="Type to continue : ") # Section 1.3.3 # simulation algorithm for normal populations alpha=.1; m=10; n=10 # sets alpha, m, n N=10000 # sets the number of simulations n.reject=0 # counter of num. of rejections for (i in 1:N) { x=rnorm(m,mean=0,sd=1) # simulates xs from population 1 y=rnorm(n,mean=0,sd=1) # simulates ys from population 2 t.stat=tstatistic(x,y) # computes the t statistic if (abs(t.stat)>qt(1-alpha/2,n+m-2)) n.reject=n.reject+1 # reject if |t| exceeds critical pt } true.sig.level=n.reject/N # est. is proportion of rejections s=readline(prompt="Type to continue : ") # simulation algorithm for normal and exponential populations # storing the values of the t statistic in vector tstat m=10; n=10 my.tsimulation=function() tstatistic(rnorm(m,mean=10,sd=2), rexp(n,rate=1/10)) tstat.vector=replicate(10000, my.tsimulation()) plot(density(tstat.vector),xlim=c(-5,8),ylim=c(0,.4),lwd=3) curve(dt(x,df=18),add=TRUE) LearnBayes/demo/Chapter.7.10.R0000644000176200001440000000166111127267332015330 0ustar liggesusers################################################# # Section 7.10 Posterior Predictive Model Checking ################################################# library(LearnBayes) data(hearttransplants) attach(hearttransplants) datapar = list(data = hearttransplants, z0 = 0.53) start = c(4, -7) fitgibbs = gibbs(poissgamexch, start, 1000, c(1,.15), datapar) lam94=rgamma(1000,y[94]+alpha,e[94]+alpha/mu) ys94=rpois(1000,e[94]*lam94) hist(ys94,breaks=seq(-0.5,max(ys94)+0.5)) lines(y[94]*c(1,1),c(0,100),lwd=3) S=readline(prompt="Type to continue : ") prob.out=function(i) { lami=rgamma(1000,y[i]+alpha,e[i]+alpha/mu) ysi=rpois(1000,e[i]*lami) pleft=sum(ysi<=y[i])/1000 pright=sum(ysi>=y[i])/1000 min(pleft,pright) } pout.exchange=sapply(1:94,prob.out) windows() plot(pout,pout.exchange,xlab="P(extreme), equal means", ylab="P(extreme), exchangeable") abline(0,1) LearnBayes/demo/Chapter.10.4.R0000644000176200001440000000516111127267664015334 0ustar liggesusers################################################### # Section 10.4 Estimating a Table of Means ################################################### library(LearnBayes) data(iowagpa) rlabels = c("91-99", "81-90", "71-80", "61-70", "51-60", "41-50", "31-40", "21-30") clabels = c("16-18", "19-21", "22-24", "25-27", "28-30") gpa = matrix(iowagpa[, 1], nrow = 8, ncol = 5, byrow = T) dimnames(gpa) = list(HSR = rlabels, ACTC = clabels) gpa samplesizes = matrix(iowagpa[, 2], nrow = 8, ncol = 5, byrow = T) dimnames(samplesizes) = list(HSR = rlabels, ACTC = clabels) samplesizes act = seq(17, 29, by = 3) matplot(act, t(gpa), type = "l", lwd = 3, xlim = c(17, 34), col=1:8, lty=1:8) legend(30, 3, lty = 1:8, lwd = 3, legend = c("HSR=9", "HSR=8", "HSR=7", "HSR=6", "HSR=5", "HSR=4", "HSR=3", "HSR=2"), col=1:8) S=readline(prompt="Type to continue : ") MU = ordergibbs(iowagpa, 5000) postmeans = apply(MU, 2, mean) postmeans = matrix(postmeans, nrow = 8, ncol = 5) postmeans=postmeans[seq(8,1,-1),] dimnames(postmeans)=list(HSR=rlabels,ACTC=clabels) round(postmeans,2) windows() matplot(act, t(postmeans), type = "l", lty=1:8, lwd = 3, col = 1, xlim = c(17, 34)) legend(30, 3, lty = 1:8, lwd = 2, legend = c("HSR=9", "HSR=8", "HSR=7", "HSR=6", "HSR=5", "HSR=4", "HSR=3", "HSR=2")) postsds = apply(MU, 2, sd) postsds = matrix(postsds, nrow = 8, ncol = 5) postsds=postsds[seq(8,1,-1),] dimnames(postsds)=list(HSR=rlabels,ACTC=clabels) round(postsds,3) s=.65 se=s/sqrt(samplesizes) round(postsds/se,2) S=readline(prompt="Type to continue : ") FIT=hiergibbs(iowagpa,5000) windows() par(mfrow=c(2,1)) plot(density(FIT$beta[,2]),xlab=expression(beta[2]), main="HIGH SCHOOL RANK") plot(density(FIT$beta[,3]),xlab=expression(beta[3]), main="ACT SCORE") quantile(FIT$beta[,2],c(.025,.25,.5,.75,.975)) quantile(FIT$beta[,3],c(.025,.25,.5,.75,.975)) quantile(FIT$var,c(.025,.25,.5,.75,.975)) posterior.means = apply(FIT$mu, 2, mean) posterior.means = matrix(posterior.means, nrow = 8, ncol = 5, byrow = T) S=readline(prompt="Type to continue : ") windows() par(mfrow=c(1,1)) matplot(act, t(posterior.means), type = "l", lwd = 3, lty=1:8, col=1, xlim = c(17, 34)) legend(30, 3, lty = 1:8, lwd = 2, legend = c("HSR=9", "HSR=8", "HSR=7", "HSR=6", "HSR=5", "HSR=4", "HSR=3", "HSR=2")) p=1-pnorm((2.5-FIT$mu)/.65) prob.success=apply(p,2,mean) prob.success=matrix(prob.success,nrow=8,ncol=5,byrow=T) dimnames(prob.success)=list(HSR=rlabels,ACTC=clabels) round(prob.success,3) LearnBayes/demo/Chapter.3.3.R0000644000176200001440000000212411106333772015240 0ustar liggesusers########################################################## # Section 3.3 Estimating a Heart Transplant Mortality Rate ########################################################## alpha=16;beta=15174 yobs=1; ex=66 y=0:10 lam=alpha/beta py=dpois(y, lam*ex)*dgamma(lam, shape = alpha, rate = beta)/dgamma(lam, shape= alpha + y, rate = beta + ex) cbind(y, round(py, 3)) lambdaA = rgamma(1000, shape = alpha + yobs, rate = beta + ex) ex = 1767; yobs=4 y = 0:10 py = dpois(y, lam * ex) * dgamma(lam, shape = alpha, rate = beta)/dgamma(lam, shape = alpha + y, rate = beta + ex) cbind(y, round(py, 3)) lambdaB = rgamma(1000, shape = alpha + yobs, rate = beta + ex) par(mfrow = c(2, 1)) plot(density(lambdaA), main="HOSPITAL A", xlab="lambdaA", lwd=3) curve(dgamma(x, shape = alpha, rate = beta), add=TRUE) legend("topright",legend=c("prior","posterior"),lwd=c(1,3)) plot(density(lambdaB), main="HOSPITAL B", xlab="lambdaB", lwd=3) curve(dgamma(x, shape = alpha, rate = beta), add=TRUE) legend("topright",legend=c("prior","posterior"),lwd=c(1,3)) LearnBayes/demo/Chapter.5.7.R0000644000176200001440000000040411117604764015251 0ustar liggesusers######################################################### # Section 5.7 Monte Carlo Method for Computing Integrals ######################################################### p=rbeta(1000, 14.26, 23.19) est=mean(p^2) se=sd(p^2)/sqrt(1000) c(est,se) LearnBayes/demo/Chapter.7.7.R0000644000176200001440000000254311127266772015265 0ustar liggesusers######################################################### # Section 7.7 Simulating from the Posterior ######################################################### library(LearnBayes) data(hearttransplants) attach(hearttransplants) datapar = list(data = hearttransplants, z0 = 0.53) start=c(2, -7) fit = laplace(poissgamexch, start, datapar) fit par(mfrow = c(1, 1)) mycontour(poissgamexch, c(0, 8, -7.3, -6.6), datapar, xlab="log alpha",ylab="log mu") S=readline(prompt="Type to continue : ") start = c(4, -7) fitgibbs = gibbs(poissgamexch, start, 1000, c(1,.15), datapar) fitgibbs$accept windows() mycontour(poissgamexch, c(0, 8, -7.3, -6.6), datapar, xlab="log alpha",ylab="log mu") points(fitgibbs$par[, 1], fitgibbs$par[, 2]) S=readline(prompt="Type to continue : ") windows() plot(density(fitgibbs$par[, 1], bw = 0.2)) alpha = exp(fitgibbs$par[, 1]) mu = exp(fitgibbs$par[, 2]) lam1 = rgamma(1000, y[1] + alpha, e[1] + alpha/mu) alpha = exp(fitgibbs$par[, 1]) mu = exp(fitgibbs$par[, 2]) S=readline(prompt="Type to continue : ") windows() plot(log(e), y/e, pch = as.character(y)) for (i in 1:94) { lami = rgamma(1000, y[i] + alpha, e[i] + alpha/mu) probint = quantile(lami, c(0.05, 0.95)) lines(log(e[i]) * c(1, 1), probint) } LearnBayes/demo/Chapter.2.5.R0000644000176200001440000000144611127272226015246 0ustar liggesusers##################################### # Section 2.5 Using a Histogram Prior ##################################### library(LearnBayes) midpt = seq(0.05, 0.95, by = 0.1) prior = c(1, 5.2, 8, 7.2, 4.6, 2.1, 0.7, 0.1, 0, 0) prior = prior/sum(prior) curve(histprior(x,midpt,prior), from=0, to=1, ylab="Prior density",ylim=c(0,.3)) s = 11 f = 16 S=readline(prompt="Type to continue : ") windows() curve(histprior(x,midpt,prior) * dbeta(x,s+1,f+1), from=0, to=1, ylab="Posterior density") S=readline(prompt="Type to continue : ") p = seq(0, 1, length=500) post = histprior(p, midpt, prior) * dbeta(p, s+1, f+1) post = post/sum(post) ps = sample(p, replace = TRUE, prob = post) windows() hist(ps, xlab="p", main="") LearnBayes/demo/Chapter.3.6.R0000644000176200001440000000163611127272322015246 0ustar liggesusers####################################################### # Section 3.6 A Bayesian Test of the Fairness of a Coin ####################################################### library(LearnBayes) pbinom(5, 20, 0.5) n = 20 y = 5 a = 10 p = 0.5 m1 = dbinom(y, n, p) * dbeta(p, a, a)/dbeta(p, a + y, a + n - y) lambda = dbinom(y, n, p)/(dbinom(y, n, p) + m1) lambda pbetat(p,.5,c(a,a),c(y,n-y)) prob.fair=function(log.a) { a = exp(log.a) m2 = dbinom(y, n, p) * dbeta(p, a, a)/ dbeta(p, a + y, a + n - y) dbinom(y, n, p)/(dbinom(y, n, p) + m2) } n = 20; y = 5; p = 0.5 curve(prob.fair(x), from=-4, to=5, xlab="log a", ylab="Prob(coin is fair)", lwd=2) S=readline(prompt="Type to continue : ") n=20 y=5 a=10 p=.5 m2=0 for (k in 0:y) m2=m2+dbinom(k,n,p)*dbeta(p,a,a)/dbeta(p,a+k,a+n-k) lambda=pbinom(y,n,p)/(pbinom(y,n,p)+m2) lambda LearnBayes/demo/Chapter.1.2.R0000644000176200001440000000150211127272130015225 0ustar liggesusers# Section 1.2 R commands # Section 1.2.2 library(LearnBayes) data(studentdata) studentdata[1,] attach(studentdata) # Section 1.2.3 table(Drink) barplot(table(Drink),xlab="Drink",ylab="Count") S=readline(prompt="Type to continue : ") windows() hours.of.sleep = WakeUp - ToSleep summary(hours.of.sleep) hist(hours.of.sleep,main="") S=readline(prompt="Type to continue : ") # Section 1.2.4 windows() boxplot(hours.of.sleep~Gender, ylab="Hours of Sleep") female.Haircut=Haircut[Gender=="female"] male.Haircut=Haircut[Gender=="male"] summary(female.Haircut) summary(male.Haircut) S=readline(prompt="Type to continue : ") # Section 1.2.5 windows() plot(jitter(ToSleep),jitter(hours.of.sleep)) fit=lm(hours.of.sleep~ToSleep) fit abline(fit) LearnBayes/demo/Chapter.7.2.R0000644000176200001440000000142311127242034015235 0ustar liggesusers##################################################### # Section 7.2 Introduction to Hierarchical Modeling ##################################################### library(LearnBayes) library(lattice) data(sluggerdata) # fit logistic model for home run data for a particular player logistic.fit=function(player) { d=subset(sluggerdata,Player==player) x=d$Age; x2=d$Age^2 response=cbind(d$HR, d$AB-d$HR) list(Age=x, p=glm(response~x+x2,family=binomial)$fitted) } names=unique(sluggerdata$Player); newdata=NULL for (j in 1:9) { fit=logistic.fit(as.character(names[j])) newdata=rbind(newdata,data.frame(as.character(names[j]),fit$Age,fit$p)) } names(newdata)=c("Player","Age","Fitted") xyplot(Fitted~Age|Player, data=newdata, type="l",lwd=3,col="black") LearnBayes/demo/Chapter.7.9.R0000644000176200001440000000300211127236512015243 0ustar liggesusers################################################# # Section 7.9 Bayesian Sensitivity Analysis ################################################# library(LearnBayes) data(hearttransplants) attach(hearttransplants) datapar = list(data = hearttransplants, z0 = 0.53) start = c(4, -7) fitgibbs = gibbs(poissgamexch, start, 1000, c(1,.15), datapar) sir.old.new=function(theta, prior, prior.new) { log.g=log(prior(theta)) log.g.new=log(prior.new(theta)) wt=exp(log.g.new-log.g-max(log.g.new-log.g)) probs=wt/sum(wt) n=length(probs) indices=sample(1:n,size=n,prob=probs,replace=TRUE) theta[indices] } prior=function(theta) 0.53*exp(theta)/(exp(theta)+0.53)^2 prior.new=function(theta) 5*exp(theta)/(exp(theta)+5)^2 log.alpha=fitgibbs$par[, 1] log.alpha.new=sir.old.new(log.alpha, prior, prior.new) ############ drawing figure library(lattice) draw.graph=function() { LOG.ALPHA=data.frame("prior",log.alpha) names(LOG.ALPHA)=c("Prior","log.alpha") LOG.ALPHA.NEW=data.frame("new.prior",log.alpha.new) names(LOG.ALPHA.NEW)=c("Prior","log.alpha") D=densityplot(~log.alpha,group=Prior,data=rbind(LOG.ALPHA,LOG.ALPHA.NEW), plot.points=FALSE,main="Original Prior and Posterior (solid), New Prior and Posterior (dashed)", lwd=4,adjust=2,lty=c(1,2),xlab="log alpha",xlim=c(-3,5),col="black") update(D, panel=function(...){ panel.curve(prior(x),lty=1,lwd=2,col="black") panel.curve(prior.new(x),lty=2, lwd=2,col="black") panel.densityplot(...) })} draw.graph() LearnBayes/demo/Chapter.4.5.R0000644000176200001440000000143511127272374015252 0ustar liggesusers########################################### # Section 4.5 Comparing Two Proportions ########################################### library(LearnBayes) sigma=c(2,1,.5,.25) plo=.0001;phi=.9999 par(mfrow=c(2,2)) for (i in 1:4) mycontour(howardprior,c(plo,phi,plo,phi),c(1,1,1,1,sigma[i]), main=paste("sigma=",as.character(sigma[i])), xlab="p1",ylab="p2") S=readline(prompt="Type to continue : ") sigma=c(2,1,.5,.25) windows() par(mfrow=c(2,2)) for (i in 1:4) { mycontour(howardprior,c(plo,phi,plo,phi), c(1+3,1+15,1+7,1+5,sigma[i]), main=paste("sigma=",as.character(sigma[i])), xlab="p1",ylab="p2") lines(c(0,1),c(0,1)) } s=simcontour(howardprior,c(plo,phi,plo,phi), c(1+3,1+15,1+7,1+5,2),1000) sum(s$x>s$y)/1000 LearnBayes/demo/Chapter.6.2.R0000644000176200001440000000107211106347520015237 0ustar liggesusers#################################################### # Section 6.2 Introduction to Discrete Markov Chains #################################################### P=matrix(c(.5,.5,0,0,0,0,.25,.5,.25,0,0,0,0,.25,.5,.25,0,0, 0,0,.25,.5,.25,0,0,0,0,.25,.5,.25,0,0,0,0,.5,.5), nrow=6,ncol=6,byrow=TRUE) P s=array(0,c(50000,1)) s[1]=3 for (j in 2:50000) s[j]=sample(1:6,size=1,prob=P[s[j-1],]) m=c(500,2000,8000,50000) for (i in 1:4) print(table(s[1:m[i]])/m[i]) w=matrix(c(.1,.2,.2,.2,.2,.1),nrow=1,ncol=6) w%*%P LearnBayes/demo/Chapter.9.2.R0000644000176200001440000000537311127267464015265 0ustar liggesusers################################ # Section 9.2.6 An Example ################################ library(LearnBayes) data(birdextinct) attach(birdextinct) logtime=log(time) plot(nesting,logtime) out = (logtime > 3) text(nesting[out], logtime[out], label=species[out], pos = 2) S=readline(prompt="Type to continue : ") windows() plot(jitter(size),logtime,xaxp=c(0,1,1)) S=readline(prompt="Type to continue : ") windows() plot(jitter(status),logtime,xaxp=c(0,1,1)) ##### Least-squares fit fit=lm(logtime~nesting+size+status,data=birdextinct,x=TRUE,y=TRUE) summary(fit) ##### Sampling from posterior theta.sample=blinreg(fit$y,fit$x,5000) S=readline(prompt="Type to continue : ") windows() par(mfrow=c(2,2)) hist(theta.sample$beta[,2],main="NESTING", xlab=expression(beta[1])) hist(theta.sample$beta[,3],main="SIZE", xlab=expression(beta[2])) hist(theta.sample$beta[,4],main="STATUS", xlab=expression(beta[3])) hist(theta.sample$sigma,main="ERROR SD", xlab=expression(sigma)) apply(theta.sample$beta,2,quantile,c(.05,.5,.95)) quantile(theta.sample$sigma,c(.05,.5,.95)) S=readline(prompt="Type to continue : ") ###### Estimating mean extinction times cov1=c(1,4,0,0) cov2=c(1,4,1,0) cov3=c(1,4,0,1) cov4=c(1,4,1,1) X1=rbind(cov1,cov2,cov3,cov4) mean.draws=blinregexpected(X1,theta.sample) c.labels=c("A","B","C","D") windows() par(mfrow=c(2,2)) for (j in 1:4) hist(mean.draws[,j], main=paste("Covariate set",c.labels[j]),xlab="log TIME") S=readline(prompt="Type to continue : ") ######## Predicting extinction times cov1=c(1,4,0,0) cov2=c(1,4,1,0) cov3=c(1,4,0,1) cov4=c(1,4,1,1) X1=rbind(cov1,cov2,cov3,cov4) pred.draws=blinregpred(X1,theta.sample) c.labels=c("A","B","C","D") windows() par(mfrow=c(2,2)) for (j in 1:4) hist(pred.draws[,j], main=paste("Covariate set",c.labels[j]),xlab="log TIME") S=readline(prompt="Type to continue : ") ######### Model checking via posterior predictive distribution pred.draws=blinregpred(fit$x,theta.sample) pred.sum=apply(pred.draws,2,quantile,c(.05,.95)) par(mfrow=c(1,1)) ind=1:length(logtime) windows() matplot(rbind(ind,ind),pred.sum,type="l",lty=1,col=1, xlab="INDEX",ylab="log TIME") points(ind,logtime,pch=19) out=(logtime>pred.sum[2,]) text(ind[out], logtime[out], label=species[out], pos = 4) S=readline(prompt="Type to continue : ") ######### Model checking via bayes residuals prob.out=bayesresiduals(fit,theta.sample,2) windows() par(mfrow=c(1,1)) plot(nesting,prob.out) out = (prob.out > 0.35) text(nesting[out], prob.out[out], label=species[out], pos = 4) LearnBayes/demo/Chapter.10.3.R0000644000176200001440000000276211127267554015335 0ustar liggesusers############################################################# # Section 10.3 Binary Response Regression with a Probit Link ############################################################# ################################################# # Section 10.3.1. Missing data and Gibbs sampling ################################################# library(LearnBayes) data(donner) attach(donner) X=cbind(1,age,male) fit=glm(survival~X-1,family=binomial(link=probit)) summary(fit) m=10000 fit=bayes.probit(survival,X,m) apply(fit$beta,2,mean) apply(fit$beta,2,sd) a=seq(15,65) X1=cbind(1,a,1) p.male=bprobit.probs(X1,fit$beta) plot(a,apply(p.male,2,quantile,.5),type="l",ylim=c(0,1), xlab="age",ylab="Probability of Survival") lines(a,apply(p.male,2,quantile,.05),lty=2) lines(a,apply(p.male,2,quantile,.95),lty=2) S=readline(prompt="Type to continue : ") ################################################### # Section 10.3.2 Proper priors and model selection ################################################### library(LearnBayes) data(donner) y=donner$survival X=cbind(1,donner$age,donner$male) beta0=c(0,0,0); c0=100 P0=t(X)%*%X/c0 bayes.probit(y,X,1000,list(beta=beta0,P=P0))$log.marg bayes.probit(y,X[,-2],1000, list(beta=beta0[-2],P=P0[-2,-2]))$log.marg bayes.probit(y,X[,-3],1000, list(beta=beta0[-3],P=P0[-3,-3]))$log.marg bayes.probit(y,X[,-c(2,3)],1000, list(beta=beta0[-c(2,3)],P=P0[-c(2,3),-c(2,3)]))$log.marg LearnBayes/demo/Chapter.10.2.R0000644000176200001440000000114011127267540015314 0ustar liggesusers############################### # Section 10.2 Robust Modeling ############################### library(LearnBayes) data(darwin) attach(darwin) fit=robustt(difference,4,10000) plot(density(fit$mu),xlab="mu") mean.lambda=apply(fit$lam,2,mean) lam5=apply(fit$lam,2,quantile,.05) lam95=apply(fit$lam,2,quantile,.95) S=readline(prompt="Type to continue : ") windows() plot(difference,mean.lambda,lwd=2,ylim=c(0,3),ylab="Lambda") for (i in 1:length(difference)) lines(c(1,1)*difference[i],c(lam5[i],lam95[i])) points(difference,0*difference-.05,pch=19,cex=2) LearnBayes/demo/Chapter.2.3.R0000644000176200001440000000131215136741351015240 0ustar liggesusers#################################### # Section 2.3 Using a Discrete Prior #################################### library(LearnBayes) p = seq(0.05, 0.95, by = 0.1) prior = c(1, 5.2, 8, 7.2, 4.6, 2.1, 0.7, 0.1, 0, 0) prior = prior/sum(prior) plot(p, prior, type = "h", ylab="Prior Probability") S=readline(prompt="Type to continue : ") data = c(11, 16) post = pdisc(p, prior, data) round(cbind(p, prior, post),2) PRIOR=data.frame("prior",p,prior) POST=data.frame("posterior",p,post) names(PRIOR)=c("Type","P","Probability") names(POST)=c("Type","P","Probability") data=rbind(PRIOR,POST) windows() lattice::xyplot(Probability~P|Type,data=data,layout=c(1,2),type="h",lwd=3,col="black") LearnBayes/data/0000755000176200001440000000000013253523017013211 5ustar liggesusersLearnBayes/data/darwin.txt.gz0000644000176200001440000000011013253523017015645 0ustar liggesusers‹ ʱ €0 EÁþí ›ãÌŽD“"ûpõ=kÝE‹NS$&,ðžø@†‰ƒ~ñ‡Íį8LearnBayes/data/birdextinct.txt.gz0000644000176200001440000000147613253523017016720 0ustar liggesusers‹MTMoë6<Óÿå"õ}M ¤h µ =ŒDK„R ¨'$¿¾³¤ìä"@»ËÝ™!—YwF/,˜ͬ^‚±[Ì—fKPa]§Yyï¶QmW–ó,g‚eLÖ¯/å{Vò¢*˜Œ±¿qÜë‰%dÍ3Yâ­õê'½¸È*jòéeTöÊ  È#Ëìp²fÖDDH‚œŠppÝõÜ£;ºMï¾ÌãwSó´ò}1Α´³;û.×îêþKô‡ Ðit>üÒʃ‰ÛHn‘ËÝÏ&„IÇðM^Ô0ÀÍP›"©îÚ« %¤D i ¼fœ=wpÕ6uü&ê7Ô(a Ãñ<5:]?'åaMÉ% +Ž#‚⛚&GÊZ¢‡ºuÑç˜ÇXäD•¤<ü§©ú¼©!D‡{SæÕ€æ-.¡p¯LC^´êqj6³ ¬Å– ˆ™—1÷æVÀëB`שþÕZèp·‹ˆÑ£{Ò*Ïöà¬îFˆfCèqÅbOx;`ñ´6´-n¬&¬óÝà:æ€]'ÇNÎç0úuÁ¨Îˆ×Ý,$Ôw®%…wO^-Ëèæ7fSþ}"sA—:Î;i\¼{~mèpso£ m]„/kº;…L)³/ùÞQüXôãh.°¾\â±ß£ÎãUÙ# 4» ÈeúìTèÆØFæ·zýœĨxV ?žz˜VÀZÔN¢êãƒ.ã½ú¨1à}µñ),yVï¯å Ÿ±­¬Í£Ó> ê-¬{³~vÓt'ðl¬Õ^¹Le*J®\ÒKK¯l–Ç›B¹½þN Þ@øv—7(?ÊBÄ{»U2f¢k.馜Y®0Û Íÿ/þþLearnBayes/data/puffin.txt.gz0000644000176200001440000000051613253523017015662 0ustar liggesusers‹5QKjC1 \K‡1–dù³,²ë¦'%”@H¡/÷§#=w9–Àl cøRÁkpÁçHgJ Æ šÎðbp¥WˆcŽípÌ=ñ,xCÚ6(²z lF›Ô‚panÁ¯;{VÇ+²ïõ¬ÂŒ³%Ы€ÃþC½Í³ —ÒÎð23­†8þ³¬ÄŽ9Ò.d[)¥‘-Ìh†1„øq¦hz/ ¬…æÍwÈÅQk\±žn"{Èûy˜±«ÒÓȦ`NøŸÛ"xÞͳ8±sw!üûµÆoLearnBayes/data/donner.txt.gz0000644000176200001440000000022713253523017015657 0ustar liggesusers‹]9Ã0 kò5E¨èëû g†³Ý°=Ây¶§#ð7g]NÄšyWä&Ð=ĸO÷©†ó`LearnBayes/data/calculus.grades.txt.gz0000644000176200001440000000032413253523017017447 0ustar liggesusers‹mPËà ;Ó™0£´ýœj«zªiß?”!l'“;±ÏkáuŸÛIÏýñžRšbˆËOUaåj#H`ÈÚdŠZ=2ÌD§JFH¦R¥a¼ºÏÐ_æ¿Õñº‘ ÅšhB/£ææöɹwg,ÿ1mWS%„2ˆy¤¹8±›b¥X hç–>yÙîãÑ\–þˆ P@ç6‰¹Ä«¿Æ³µ˜ØÔggº˜ŠÝ’Œ€±)¦YE›žo6D£ktiú| :¯ÑLearnBayes/data/achievement.txt.gz0000644000176200001440000000160013253523017016656 0ustar liggesusers‹MUKnTA \;§i»¯—¬KŽ€DX î/ªÊî!Š”d<¶«\þôç÷ßöéÇ»}ùj¿¾ýýéúöçýÛw×ïxsóp;ÌÝb›ï·†OÞnÞmè›Iǃo›öXoKÁ›~-š<ê®Ç6Bc!#míÝé…ü®tËNØÁOLDÓ„Ð3Ð-žÊ6šíCDš¢ À æ‘&DÇFÕakDÔ1ÊölƲŒ4‘Èl“Ý•®“`C(ÒA–d‚€(,áb+?º{Rq’‹ i'§èàÕ™.jŽèœC@.Õtƒ¯¤/%¥7 j<›u¿ŽÔšã”óEÔLÓ(AØE|D m5®ì 'g¸õþš¦NÕQÈ(O½©T f¥Ì ‚Ù:u¾m¥Ys§EQÛµQK=k¯IvÔ+S®Èz4ó’Þï-ÒîwOaÃH¦ r§”¾³<='¨+ö6“Š5ÇЩÀ85ô¨îÅQ‚«˜¦1JâMè›Ýƒºž8UºZ¯ â9E©«÷£¶ ªœ‡mx´Hqµ 3%cô-œ}è’â ï H°_pG·C‚ïJÙ†ìð:i¿r45[—¢ê ìaÖSjrùå9yÉîM^·N—@¨ïè”ÄmKfx†ñÚ,ʆ¼k†ªÚ$”{Ó²LÈ)‘½ÚÆnËÇárÄCšž›ìT!Ø^æ÷ÍN ¹ëÖm© Mï=Ä&°ÉÖ^²­¼®A6•1¸²ÚN‹;DTž6²éž#Õ‡.Ýò®Ÿÿ˃ŸšåµqªÓU÷y ± ýi¿`x;Ç"̸7›3Âvu÷–¡ˆ»téèjçðž×Kv_]5ç‰Æµ­N#~(]ÊÍnQ-h ’¯ªî rçº8·K›¹îƒ4Ä'ŸÙžMáÓØj¾Ÿ¢¼5$3_í²ášèª2$tà´«Bñv‡‹Ùyò8ÛÚÊàí~(Éù/JÓ# ŒëÃëÜ>ˆ¿?Ü_½d¨â¹«ëz8Ð5–§ÆâaÓÆ}Ë‚ € þoÿÙÉF£¶LearnBayes/data/election.2008.txt.gz0000644000176200001440000000107613253523017016567 0ustar liggesusers‹M“ÛnÛ0 †¯É‡1bK>ä²H¶5ëÜ k›`—¬£ÅB)”¶ÙÓTÖu€a˜¿ÅÓGê!Q2Ч!Á:¿?mðf¢g:Ô¨æbÇ›5¨ÞûÛ;¶g (g,ÈEŠP— 54¸ ÉþòÁY¥Ä¯®qá'hçA³YqÔ…wÎ É窄º—f¢W T'‚Âe±( TÐUl|ævG’•sW-~1>ì9 ÇÓ-”5Þ²·µ *hh\íhôÐtP5bM“uÞFP\ÁªWng‰;Ñ<% þ•¤ÉZs1wצ8—×àqé<.¹Ë :üæÏ6f!¡¸¥ž¬39¼äë)\&r;Ps È zŠ‘†ñMJ\††ZAYao‡ÑîÉå̬´¬0›èI&‘Ø×Æ(Ïédsm²æÏÁ~4Ð{—rGó|ïÍsÈÃkf9 /$•󵸥ã)Ž–©_“é¬~5!šKvª­h½y³ƒgfp•~úpÈ|x@%ÞûÆbAÁ3ê÷*Ä9ëK:ä–”ì€Âõh½TÁF5ÃõaâañÖ5¥$mqÌÞ;ùæÖZünœ‹—é…d«d*™àÑïL±ŠWÎ¥ÄÒøàÏÿWÁ³æ tå÷"˜'ÂG#¤£1y½çÂðѼÉ.·²„JãS¢1ÿd8¸1áȈå^ÈÜX^À\‘Î+¨pKÌÒí“”>Nqkb*þÄ2Š­ƒwѺ!o/þÈÎùæÉÆÿ=~²wŸLearnBayes/data/strikeout.txt.gz0000644000176200001440000000504213253523017016423 0ustar liggesusers‹5˜K’9C×ÊÓH¤¾‡êYLß?¢ñ@×¢¢l§RâAý¿ý¯ýÛþùÖisï6fë~s´xCÛóÓ§9¢e¶±ó{Zú¦Åû~g¶·…çü¶~½V¾oE›sñ,"¾yõL/Õ.ûµ¼]ü/hß±ÛÛßÓ&1[ʔٿ³t\záÖ&¯Å¶a÷}W Ù•³-í3ÚOoj¡MSþèw­§É¬ -ì¸úÎOo\Þ üÝ|™òå´¥OD$ßò„ý\ë[[+ôQ/îùAÓ>ÁîKå«×æw³Í~íËêßmrzøµ”û—ãµ2?ÙeÈ™X¥(è—÷Í-k›_E[Û ½&;SNF{Š“"òmý'€¯b&ǵ)Ò·­ôv!¸W¾é“R6ÖøO ZÛnèÔ×ö ±fS>’Có:ÞÇ=Ûm+¿´ÿõy¶ä­l²GGáš,þ ̆Ҧ½R“LÒ– ^¤ßd²ûÑ•¶e$’®k?\²Kîe„ö0HôÇ&û(ùíÜŠ.[5ã¾Ó€!ßì¯ö–WòDP˜×G²km¦½¶">ýEû|¡Õljùé€jè¤# b¡†v§pšÌ?$ÃæãÈNœvú§˜v¹ü‘¥L–/gY0"à3¿ylžÎ’ðî?̧°È¡ÚNaœ®­T £z è'D¯Ë¢yí € ,I§²F¡â½ÛЄôCË¥œÂ¾òRoJ®Êz’*A¿ÏA fþ‚µ\gÝ•+äš ªŒÏ!tØf¦‚g0Ž‚*wt÷ô‚²öq QÕèhm¢5>ößr&(!׉w¸0xùåÕ§‰bÙÏIí=ûò®ÃkÊša¯cNE$~åÖA{„cp•£îMx¥ "U`¾jÕ‘¹oËâÃaÞ™öMÁ^ØêM²(þp¯*€ªRØŒM» ÙÁ@ZØÉèdUŠMnýN=¦ÓT«ׇµNߨ ù'«~e¢/T EGÎ+« rÀ…f(âèèGŽ5øŠ°´A 5–1•2úº•˜a. ¶x¬½K ‚Ž ÃÇ"bLÙ°Œùñˆ@S‹¡ÔÏ1öú,ê½.ED¥ Eµ:á¶„¬ªRè0ô±êøAÅhªvE>µ?Çœ¬‚ï®êc~3m 2®6j7MUÐú ¯›Ÿq¾›ë‡PŠÉãa ‡ûu±?„£ §K'ï˜,:}óR¶I0Ü¡€³¨Wì§»òªŠÆ°¦C…×8Ð Êg–™è'=›•0w-P¬ø×‹fñu=ºƒ¦Ewê2—~ßM×i( JI”LI=í¸àÚX¨ê$\Ûª:‚øßý¥“£\°°¸Ò'ïå¢(J¡tñ F*K*YHTv¨Z—¨ Ÿœø™e‚æsªÚ©Ò†/ w`‡2(ÿBHØP¾˜{ý*a/dÆÜa€ƒ®µ¿¿½éè‚3, ¶¦+Èñ~Ï\‘÷O(¹mdÂuþ~- Kq,˜CQδø[z¦ÔØÖA¯¬ä»UŸê“‰4»÷ öÀ¼¶MÚUH@½»} ­,‹Ò=tºB`õ¡$SÂü"É>dã~¦€çª€„*÷#SšÒtÀ7TqlãÞ.n‘ |ÓUËÎw¹Ï+˜pi÷¬ÈW@NJ6$MbX\P³ €Uáá=“dŒQg•Ä ‡*³†°0ÐXôã뇄ÌmL?”ÂSäÝ÷•À/Ó{ ¯Òè»Ö5Šë¯Œd ]ož! „Ñ0… Q]~“b7&üµæXØ"˜aÒÈË3qý±ËqaÖ¢FËTo!aø"$p>9O‹ 2™Pز”RJ˜r %¯uëT/Xî y*ø»¾ Š:R^€PD¢°ŠÎ$±Ä?”“| zÕäÝ¥UôZR_¼ Å]rηv;dQŠÂâºã‹7òÉê]Ó,àþ€ñħª;ÓÃ'~—QÚy:¯UGœ>)*H¤¨Q³JúQµì+ù ׳dè(žÅùSrGÍ}ËŒç¤PÎãõ³R”ï0²SG[t¯4[:.ìF‚¶‹ùÄ_ƒÐÚEÖ×1ÛýZ‹ ‡B–C—(æà£ž¶Ý%_éÙ#ޤÚÀŒ7‰a”ö²Âœ–É ¿<»Å·Q'_I¤„Xeé³Ô «XÌ¡8äpÉä°j~ÅþÔ®™ F­´‹Éf•î¹ôšì¦gu^‹Vw¥¼á“E‚.ç%;%¦óh‰Šëru¤k+P  ŸÉšGû¾Ë* \ÏâÜ=õ2\ Áü¯»#[%Ÿ»ø0Ý£±…µ¬$J ޤ•`—î= ~Êÿ0ô"»MiÍ Šà·aßgfV_‰ØUÏŒškw÷\¹I#‹ J·B÷„ŠŒ~tvNœT¶^gB8UÊâQ QeÃÓ.í&P$.€†lÃç…Ò^¦H»ÞVàzèæ~LÍŒ[»%xttÍ ”¾«Z‹’c)#ŸæªŒ{Ôä‚ ŸÔ+¡Ô‹‘FÕ±á}¤C÷íÃu‡avt™ª01­fÜei£Š/OºÚ4gzò¹Îb)´hþE̪’ÚÕOÏpû]ɲšëÔ$x‚ž:Ö|uô ÓÆµ•DƒAç1 ßjÔQóÞt&Q;§ÆÌ¨Á¼m@%<˜S$£Ø#aÕ?âŒ>fÊ ý&nÒÙ]Ý´{Xûgx°£Æ +&jk ëßSÚ iþìÊØ¿m×%ÉM‚üî}ÞÀ³˜vAÒ~<¾[ÅìIµAp:q3Ü׺¬¸c…å—îþÄÃ|¢‰¬o·’ôðFï>æðXjʳj©Ð(Ú¹ ÅQÚÖ>_*+ªcE¯{Š¢pQó°ûi‰¤úâ ý{-¦€,òJIÓæÂÍãñ%êË«™Ží3%¥mÂ_˜öTJ*n{Êî˜jèÁš§¬(-Œk¥ë ±Ë+zRê}Á–&¡]3Ò­yñžÃKTq«Õf™@;dƒSPc—ZæTk ìCä08õ¢ ãhfɲgSƒglZÉ÷HS+ Ð>Vݬ=Sû«•Ó“i‹ß3º«»(q¾:y†÷ñm‹³ë[‚Ð$´•AsûBÌêO¡Å%\¤ýØý-‡§d¼›e.sé,jYŽ­½ 7ågļ4OL :+dœæé̆¯j%ÓZæ0ʘ¢êŠÁ ,ì¸á+| ¿ð~Ñ'|û _Ÿïáó ?D%$óˆðgþ–o‘{¥±2c¸â±0–ŒdŠUm€±Ñrý ïR É)d (ÿ)ª|œ·´1Cæç°9 ÅIb„j@ÖÛI²oÉÑy9IŠÈ6É6Iq&ä)Œð®æPù‹ÑÑGÄÏ«J®Ñ3Ø\>ì¦lÜ#âF’áÌ<Œÿ‘€ ¥‡I¨Ïé®ÑjèPwÊŽ¬©„,Øz=„I¾F v“¡IöË8?ÂÌÉ$y„™÷‰Ÿ©Ëd’<Á¬†è1¥`QC78R—딄եSrw û9"Êãç9–丄±l¨: *h»£Hðy>ü,Y%Q$ýT`Cu†ùúÉÏ›¶!.î³ä`er¹ÔúJ0ˆ5ÊQá4“ðÒ ”½"u©žú¨ÖçkÛè-C JD4#Â[òÚ¦s2ͺ¯Yj#m›¤ˆAÚ4ÊlyK²”£¥Ífhï#éŽvÏîµ7[ßFZ¿¦¡•É=™™< u0ý>øÙqÎäu2tr¤eÉ|¨{/K9žçõà|ßY§’}ã¼®_‡}yùÉÀ‹ËO–ÄiÈ€äV?÷³ŽÁ²­ «ÉçÛ³ÃïÁ†ºáÒ´~Í­»>‡”œ£‚‚IÞÐ µßy*K\R ×lòóAÐzèFHmÑpBHvèݲ—«+ß­ä|G Ö èô ê/Ñç|}?|@™½º´£>6‘m‡úôCÃØù7`:Ђ¿ÑiàØp곞Œî 64Ëi­Îqýn:AÛÃUowÝ,¨¿‘älK:2_߯1›±Ñh´õÒ” ×ÇÂZ—0<²ÅðŒ†gtxµmé‘ÊöSg‘òÓš¯3‡ëBP<å!ÓÒÜ÷\„œO}‘‹c”è­û†Þ¶¬é‡gùØoÙ×MŽèý¸UÙ“}ë=M~g_¿—E6«^[‹Föeñ LearnBayes/data/chemotherapy.txt.gz0000644000176200001440000000033213253523017017057 0ustar liggesusers‹59nD1 Ckê4ÖnçÁ ‚Œsÿh¬L#/¦(_ûqmìÇçç¾öïûç¾6®›쪈 uÒI _‡¤Á„ \É¡ÒÄ”«É¢„†×½ Œ&2G“¤Ò‹ä[ǵÆls#.£ìg/V)XÖ»+,¬a×NFhõÒÚ>/Uµ¥Nœås¤|¤³ÒrKñÂto¦$shϽ¨eöw8‘ªÖiI¥É<ÊšPê[lžSµ—úïöQžÍÿ'ý8¶CÍ…LearnBayes/data/election.txt.gz0000644000176200001440000000221713253523017016175 0ustar liggesusers‹%•Ks7„ÏÀ¯ïc,Çv\R¤²ò8CäJÜâr7µ»”£Ÿo˜ ‹ä ===Ãr÷óϰ.»y[ÖÁ¼\·‡SŸûl™úátí¦º"&–àœ Ñe1’Å~êça59#¡‰IÙ;S˜ÔDŒ¯5‘_s #VûiíÇ×e=šê› ®$“¢&'"Ã{' Ib3­_÷ÉWRŠ#¼üÔp¨-G-˜4^Š”fJmö®O'198#>%#µÓœ½;õuZö}0¥Ô`„ãÉ„%Nìݸ¯×͉‘«“p°•œpçÝDAª7>æ@ó¾=•íÝ2M£6„ëZKv1ãE4x½¼ŒÝøV`ÃÅb¼SÔÀü´$GÍÏ·vˆŽo§‰ðF¡Ð€æU¦NôZ)„§i{YÖåÊà=(}n)1+„ž]’²Lók¢)±ÁeÉö·ù8öùÇø>”‘tÒ™”zûî’ýÞç}vbr%Ö˜!±ß‡××aÕ`h´ô)Q§Ðì}íƒJ5øŒª93À‘3¼TÏœwl-£eua¾2]&Ÿ€í]öJ î.a5AàÑ÷¹¤‡„Èû‡.Odû\P€ÎäbïÇ—aÅ à:žA*fÿУ"Nà .Ü?à»"p±A!I-,Bt•tf1£¦”]ÊAƒ;Lαr9«„›¾]µ#ùŒ¨”ÑÉV•ýÆ›É8û°ÌëùÕ3°Yl¨N eØßû¶õ+¿™e®ØƒÏRZÁã¹O˲uºf›Á NÝ&H¡ûÇó0NË‹¶“q€˜@rT‰Á>²0oÊ´×5Šp ;#Lј}ÜÃ2uL€0†eàŽžKb²O}º|0Q5<„(™>’.rE©pSHÙ‹*nQ!½fvZnÎ÷4ÎÃ4uTœ[cßœ»®±Ve u<-Ó™›°!Sb+…^ùߤPíÓuŸûQô÷?j²«}îóÞ(±©îa ª³ ‹à=áµcV]+ƒºHE=5xõÔõ<\Æy™œ‚Ãp[% dúíóþ}9Íþæt;’VnIÕ<ï÷×vG jª‰¹…X4Q8y½ìêZ·¡é³láÓkègŸç›àÁõõ¨N·ÉüÑ?¦eÕ4(ʼ Ñ%uqûç¬TýÒgŠÑƒá/LzSæ¡ÑçÆ±OUp"pfûw?_á\}±³^¨Ò£FnÞ…?©ãÕªŸŽÐvç7 Ã%W•–Õ1(\í8–ûfLearnBayes/data/bermuda.grass.txt.gz0000644000176200001440000000043113253523017017124 0ustar liggesusers‹EÒ;n1 EÑz´aH껉ÀËp*q“݇ï F0ÍpAÑãù½¾¾ß×ãùú¹¯w±º×uë)^- ‰º‚ #OC­Ñzƒ´ÈS©4•NÙTé•¶ ãs´œínvÁ(Q×ÒýÙFÝ-9ôÒê=a$£_$ɾ¡%Û„jû ÔZÓm hŸÀiãP­+ÚéPí ¨vu¨¶i(éf~¦½yÊFòæÒL{ * ªHCçÔR'ÝPéB^†Þ³k^%iëôPm È®qñdüÀ³l‡Ú`M¨vëTێꚆm¨¹½AíàÜõß:mt¨vž@mþ“l¡¶A+³¯3ÛYƒm³ý÷6ó)ÉLearnBayes/data/iowagpa.txt.gz0000644000176200001440000000041113253523017016014 0ustar liggesusers‹5‘1R@! Dëý‡ùó“@€Ò±±V/`eçxÿÊÍ‚o²y$ðýû…¼}¼ãåõóò;&V‡+nƒõa¨äQ4`Ó…IŒË.Z¼±S:Êèñ{Tt £0Ú˜ÄeX;[žhÆñ4ÞiY(Gµ©ê,B˜;Üv¶DaàˆyD1°¢Hžp˜«(Æ]óxØiKTž§¡úñ8xi?šêqQìÉûI‡¬Ëî9ËØä 9¼QBjˆ•ÄMIIvìš,ÉŠÿAÊÇ‘£¾-ä`n1/JÒX'X ¾PÝ­1¸`/¡óqt&Ò&|eÁºþ~¯™J;LearnBayes/data/schmidt.txt.gz0000644000176200001440000000066613253523017016034 0ustar liggesusers‹-S;Sƒ1 ›Å¯‰í8‘2q×.02pìüÿÉáz½&Ž$Ë~~ýâùç¯x¾pÇ ~á#.Üî¸_ox\xyàºðx²=î°@t8&?†¨ß„¥ B1&z€3áұȒÂR¥Ãxϱ`ßÑà‹Ê1È%Etã-– W"j‘µùÚ›ÌÐÑÂæã>xcº&<%F©æb&½%±†.‚µIÓè¯o&œÁìÈ.BW¼BvTNèÀw1–[O$#K^¶ÊÀGÛؤµz—GêŠñS5uPÁÊ ~ª‹åñœÂÿgÍÂ/èά‰7ê˜ü/SuÖØ~Ö ôª™IÞ…f˜S1å+…R…ªÿ,š c‹¨YÍ™§KQxÆã4'ú1£9 ™oUÌTkªš[.\'¿Î´j¤QãåP“„­ýÐ6¬TÖš-[®Š²\§’ŠLž<Ùx”†úHÔžgs¶@‚èàÒX]àYÑ>éƒÑUK@G­rj´W+Ãç8˻ሻԬ6WËN{]£§~èX-dNNJÿ‰q´M4šýåÇ…dLearnBayes/data/cancermortality.txt.gz0000644000176200001440000000014113253523017017565 0ustar liggesusers‹ŒË1Ϧ?AMS¹o÷‹¹À>¹KÅ´ƒÖÀr‰Æ#QËÄ\{LÌàÅ‚eN2Au>ŽM¹’­ÔI°‘Q3]›´ö$ù¢Q1„LearnBayes/data/footballscores.txt.gz0000644000176200001440000001225713253523017017421 0ustar liggesusers‹e\Ûne·‘}Þó1ÂæeßZ§åvº¥R0=Ü“Aâ3Ìßת+5€a#»D²jU±XµÈ“ÿýñËïË_~ûûåßùïß~ÿëþXþë¿þøý×ßþ¼üó?~ÿñ˯.xøÇ/©ü¯ÿùñãoÿR®³,e©ã_m©ËûãòíËËRüû±¬Ëõ°-·÷¯ËËkZ‚¾<þéóòòo?Ç÷k)ûøþé§/Ëóã4ÏX¢‰>éßî7­KÝ—2þ½<ݾ.ÿz{KcúRŽe[žîïËÛçô}Åtûòõö²üôú§4ÓºCþíËmùãOßÓ€s©×²Å_îË——§q }ëøþõv˼¤©:”ÚÇ<·aßs²»-í "üò¾üáSHJ_zv|úz_ÞžÒˆUì£ZcLµ5„þ®à´B²-z^(\}²¡pŠcØ^ó*ÃøuÈ$ì÷éÆòù…zT.È0ß0ä=)0¦ªm ˆ‡×ó*CëN—Ñ1Ó€…°{€=fˆÀù;ô…c+þýÀg¸ ¡ä‰õÖ·iõßK4Bæú2„,~ÇZm^ŸPŽå‡í.íÚ˜§!C §´,#ˆ1L„f1ÙŠý¥á-„@è¶ÆÏi}F1&ƒõü,(+ÜèÆ˜‰Šm“ð‹úJŸÑ1߉©kÝ«ørxfx¿¥Ø;U¶ãË=¾–áK Xz¶^ü@­»õT̃õ1@óY2NOë4 % czÚ0C…Fáäâûø=VAÐ`Ï *`½ $!5Ãl¶ÐHÄ&c*ã ¡9âhø¥ÏÑWé“dŸýU\?/€È‡ß{ñ÷ Æ¾é· =’‘mì-…ªî_`è·dŸ×ÛRvÂ|CÐaäF@34j¶I&nÙôá/zv8Ò¿SçîiÕ-¡»þ:-=,¹:`̺†ðk¶¼I2€W‡CB²ËI#VÈ ™»i.*{ʃ1Ô¢ (fI+íî“%Û"q=–ßç¸:h64Ž5V ¸Ô0gOzÑíp!lßSœÀU‚:µG¼W‰ ÜžöÇPK‚}€K7Í(@¡­@ŠdTÁ‡¡δý-Ò¸$Ó"~\Ðï'±ÅlG^‡ƒU GÞzbA§¡pˆ.=ùoâ¨<Ù€d%ºÃò#YÈÔ•à&Hjl‚!Ž!§T*q¸Ã—»‘¢GŒwÑ¡`Åü½7(¶,DPh »yÄ=?ÆÂCÊdgt—tžI;ãw¤Ý1.àbÄÕ–lK€ LÎP•3AͬÿýHl¿ƒ€CU ÐM1ñÌ·"lXá ÄDð¸‹jå®âðEL…}v1`º·“EÃù̲j8¿ÏKW)JàÀéœCjâ›øÎœ`$ÂÀ'ëÜ™{T¸—ª$¡¼\к쀋¹&ÁH À ^Y­Æ5  3øAåPsѵ«T²iˆíþ—¤Va­ÓÜøAÐÕúM6‘YJ€k~è€÷ÊÑ#) ~…ÏcËN„!BâJ{‹¬¬éÄc݆1€8Iv‰¡%Ëï5ËØ¶+IÒ 9a ´ž8»‹U³i• †vê;ŒMî07¤yÙ»æÜÑBAíCˆwh0iˆ0“r«F19‰¼ÐH7Ž„¡å}!;¡?ΆÒÎ w-Ç*6 üG¸£I*Ò Y3˜Æ°N8¨ôÎm—À‚ Ù°äÌÑ’÷V/Œ¹ù>ô°Ýú‘’Ul$¶#»eä* »n£ Ò1°F„DsÇ©^ôÜ>,Ó¼…%=E£º bÿGçÅ:ØŸÏiPã„ãx0ôwM;iVxeê ‹;ö9/…ÝÒ­¡Éê9½aMZ)wÙ|2êH…JÒ¡a[tï&“µhew o@;5š§¸Y:–avêêñi™.- Yàí=LGÄu§J´ˆnªå -÷êɪ'ýp)Þ4Ö§dtË üš†°ú¨ð ÃÄ¿ï˜lלXo kV,V8OÖÄê+‰º+·„;:“ϲ‰£¿;8x†a5A  V@ÐVq'©›Ð"‡žA·`–Ûú.‰AzÜ’å(ö³0šÆ¯÷i®¦¬Áp¯ÏÓšfo,¶ ùéœ(Œw‘–ŠÊ}:‹Û¤€#Ï!dÑKŒ}ñ†Ó?_n¼»§%d«—â‘‹ìô„™µj]‰-çÈ›W9=q,®îaÉ™Yã5MÆŠ¡J'êĺî€ñí)YÞ…Ž†ŸŒ>à°Õ•zÊ"ÂØ¥Ýg:å¼2&ÅȧeFg5»ð‡“²jàšÊE€RĈ~hëÀ‡‰oáW ‹T¶óÀö%M%!ZÄçÆ^Ûs(RˆŸá­¯&€=¹ }âD_7½sÍüêžCñЄé¼h“Ú¥ik4”=òèrL;m‰·zT\Ô…¤r†üH‘@Ný›’}¾v“ËfËDZ¸ÎÄÐXbƒ°LEh̵ÃQÍoöŽ¡Zm;S¬ûã`V²’þHþ`ï7bm„¢¯Ð½B@ÀMÉÆˆ‰3Õ¥ÉJ  ^kŸq&_š·òœm8œÃ:sîâ"øF£9ÃõTµ[C_].ºQJY«C £[0ÞmUG#—ñy—ÃI›íºJ-Œ °ÖÁœÉdÔß>}kñѬ"»§ï »ô7"º o@âÜîü¯F“ "IÑï&¯ªµŒTåÞ– ã¯le]6çÄ\Ð$/)1÷’Ö9å¾ÚJ†¡›ù“Ð#“™ÝK cuñÖÓõ¶¯!CºÝõ=M¦ÈÍëçDÒrÕ²ÃÝÓšËU6 ò NV~ö)}· q™ÎQ«Â¸lN úÕô•ÚÚn—É w1|r(Ÿä\´l]ß ±m¦\8ÔïúzÅ%ä †™vº¤eºµ{3}ݤ¾ôª'Hwî®8k·8£:æÚ-k‘Öµù! S‹uùíÑócšõHS£‚¡Ö­†-'¼ç»ÕzÂþL½W0õôQ¬Òh‚¿ƒÿUXWiUgæç*¡îo…¢3kÒ}Ø“•´ ù±Kn‰óX\Êf»ŒYã›+ÏX¥¦À²^òýÑ¿kCNþ›š›PÖVH„@nE¯ˆÂ¼„nO˜IÌê:Òb!+ hw2¿v°v¶†ßƒ-¦€Q Ð ¢jrÖ¤ÚLzkgît•ëtO R"`8½ "eÝ)¯ð5ˆP´N›V§Ö¹–èkx—h—ʇvïRè‚‘åt“ÂmÁ<{ÒiÖïÅ÷®]Ô†¤øÃŽaÝ0u‰›U¶ý-ÏwpÊk–tãU£ÔiA0«úŒC(‚lÅÊ }ô’¦ca»é‘û))H•Õê¼óY¶ðîÖyä&nóºžFõ´QBz00T|˜Tgpù=}嵿tc´yºUœ¢ì)ñ„ŒÖÐw>æ’ì6¬bWÕwv÷5¯ß#õº`Ï”½­Û&ØCîÙ~ÒD-Ø`°þµÛ’й4'ˆPÍUESÚ“›ÄÖµ^çVØ’lnœ^ɨÂþ/Knûpj}ÒÞ|,Ó÷+1›”,Í_L¤!«ß )–z²vëv;ä)Sy‘'5î)é0ö¶äRg££Î9ý1UÉ] žlñ–±ä.Ù |s Ymíé‰KÌW›ˆö¸vOb" ë{{§×¸uB ‰_=NÍV\é%®ж¹À†^fìÄÎövVo7ïÝ?X„ >qâôOõÇ¡p«úbÏT¢Û,"àíÚ;Í«#~+÷ì{!Ã`E%«G›«WåJž‚üíÚV~IgO»¿T ú/Ü=8v?±}&vò$àœ-îÎÅ7/)ýïõÅzÊ  ½+7e·¼wÛÔ̤In3"$q-gT[„Xñ‚³&þX}tÄõ–7%Öúƒß®µØáÏɨU+HJ[:‰}„ãí)M´ Am$g¤Ø{NóTžT;ÁvnZÖDôö98ðîc÷$ÐRÌö¦9Àív-sš„3§]اfuÖ÷`9—F ]–û\ȵ%Ž¢PåæMû#ÿûªµ¬µ.-™QåÙ†Æ-¹U_¢ØÝµ/RœòÐ-Þ²?º4¡oOÁZw)3µÝ³³°ÍûãL—6YtÅýRŸ'ÛýMK÷¿?É‚¥æ '×óÆÈÎUHùrùŸLo±â…e¬³K»Iïßc.¹Ë(vaÔS€­‘ýci¾²)óÓg‹wˆÈzLóØK[8ò9 Fp¨û-^kÆhâ_ÍßÃÍï/jcS5*älh—Sy_ȪúÃ㔤ӻ Í[rûíÆ–ðÀµ„UÈ[ øRuC;Ý`Øì[Žßß™ø*§WWŠäc­øòÒ‡<´[Gá9­6æíé+û+ÿÎ$wj“J VÑÛ”¬ñʽõÿ¹@ˆäܤrku¦‡ >^n‰‰ÉÖðqüŶ0&Û%ÕÀ'/÷¬\1Z»Ùl©boŸÓ+eÕÌJ9§aÖä>ä,dÛb?þ5R½²×ñØ8N¿¢¿X ¶YPf[/‡JîyØ?ÙX?4bEÏ:§¨­¢ÆEš3BѲ©––u»v,ߥ»Š¥.9ôœÆ÷ùäÑ£Ô|oOYpèž–ÚnZG÷¢?ñÌ& ]¢Dš·q›>R¶‡P¹7Úã5H `µv=¤æ56Dµ;¬ œ5ûœ`Ø\RwR_¬;¿¼ü¿!G–5{»k. [+qeþìçi!¹ýÒÊ>èm­ú[÷çobcì­Ò±õ¤Tÿòþa¶’øõh‰V½–ßP† mv’n—É ŠjA¸Ú&[g>­¥ýR騷S±Ñ/JȽ?¦RÈõ”ËC¶U©­7aÓ|úÛî žµHGD*xÁWki؈¸Þ§ä¾±~Hf3›$1î‰(æ³w#ÂÛí©KIûo¹Kbqn—Ó%÷[|ìo÷ø1›TVþC\(‘e|ˆïGȇ~¯ÇÕ_Ï.ŒÇ11B;‡ožµ>hB~ÛcòÜÆ•à 9F_n-ûæ—Þñ´ØÚÎ?ì.¹_$ãö”kÃG‚ëçD 3Pèt̓ñ9êÒûáI"Ï©A?'çõ¸÷ŠV¬;ó©?þÈ-(‹5? 6÷á¿ÆÁ»€ÌtOfô‚‡þšõžžI›ëvyºïÿ§¡ø*ª•Í1Lûá‰=Ôü&ñ=àkº=꟠>›pú£ðø^ºþŒÛ.]Ò<öwfÚôbpO/ˆ­ýAâò—þ!¹ìž×;­A±“ׇmò†Ø~t²5Bv¼§×Òu½¦®*Ö*«PÝöóÞ’ºYüÈNn)œÑ¶ü(­1BK åÿjÅ÷Çñ}ßç‚ïç׿Æqîç-y[2>i¯ÔQèxm"6ÅD䉘»V&‰ç>”‹×æ¶\Jò¢$oŠsß ¾½,•Ù0y™h¾·aªÉ(\ë¨Â–ôýxqQ*êQ®èy‰ ~“Ä‚,ʹ Yд@ÅV¡¼P!Œ}i<UeÅnígÒj˜+™ ´õ²x‚Re"œ åó%qw§”¨"z(9°Ó¸>èèíVñ‚ m‘aÐTäâ#ºQlx”=žI*ź_IJacHÔsþ­°Õh×”°ŸLuR¹£¬,ëÈÀ…wY06ІiˆUi—_;Êq£q¡4úa( ©X¬S㇜¸l=&é‘‚ Çƒâ“ž*ˆKLearnBayes/data/sluggerdata.txt.gz0000644000176200001440000000721313253523017016676 0ustar liggesusers‹]ZËŽ·]s¾¦ù&—Vv¤U–²3° ( + ô÷9v7{`i|Õ·Èf½N*Î?>}üþú5üóõã×ðÃo¯áÇðûð>üһ߅ŸÞ‡÷ïþÞ½ ~~ùðåÏ!Î1C:B!ŽR¥‡ŽPBÌ!FüóœGH1ÄšCÍ)ôb*!µ< ý êq‰Ç [Èü;C+åJ–0Ç%›BÊ¡ul—B‰¡€Ï8Gªø6´| âˆØ¦ÎPçXk£På–ø2C\/é¢ Ž ΉE1áû´ÆÏ™.á*eJ '…UbƦxŒSÐD¹\âÆ¢ N2h®FûàüPò€Žå!}°êµ’L[„a`æµ{ÁAû-Õ§ôl%s:Š~:Bƒ<ŽÒñ¸ÇK~†|x{j ãÆqÐTx@[ÇÐÇ-Ÿž/Êxí [°ç²^¨Øà¾ØÆ%ÃÂØ Ò¡u<,„cU¹ÏéhÄÆµ ­p/‰É‹¡'ìżéàÁʵ Ûb=TúÐXvØžˆlQîýa8( hÖèÚHó| ÕùÒ|KW™™‡ÂwˆEú«2 ¯/?~}}ýüËë×ßh ߇ãùßS*;Ä‘4e*¾²Š!xñ´ÁìÏ…®šL/ú4ÒE]ÁÇ,a?×TÇ<\—ž0]Фïšñ¹H1Žc'hcÐS¡ðާ¨ß]áÌiÀ`òR‘í ´\<Þ¼a(jµ‡á­Ø+µ+Ê”â°F~=M¥ÖÖƒ1ãFFt… þ¸›õ±g`.¬aÐó3r‘5 1˜²¿Yƒ]ؘ£Ð!ÐÛIŸŽOáÊÐëÔçüfZ""f 3ú)ß{ø¢B]& vÀ±30Œ‚O¿cWº .)0eB쟄DÌ@ ¿üðñë—ÏTO'`Ö@¡€'ÒÚMg’ ó¼¥ë ÌM~ªNNÄ„<„ä†3[¼å›ÂVòSß§…WÂs *³°ÜòÝA‹@eÒÀ˜#‡  QÇ-?°ÜŸšÒaû:…¾ÜmÇŸ UèÜèÛÈÓ)¾;3â3Þ¼>Q¼2‡‡&Ší¯‰ Æšq-ˆg¤6bu˜ÞÛZ'ÁEÛÞ¥•5#É£‘ÕlPáª"ÞÜ…œåÉ39® |Tl ƒÁ5·ýeFMí·ˆ ÎŒ9bl·x5XK¯V•  WCÝq»g#Và V·ÈåÁ3>;œ¼mïÜ“yhDž¦0²mdLê·üÕhc„‘œ™÷ÐxÐ8ÿ-=,Œ¨î°·ú™§ˆ“÷æ¤ͺ2Q©@5ËPuBìáe›o‘J8)³ÀnøÃˆèÎLd‰Ç=4{Ò6t r¢WaT$²:c¿Ö[ÚH,Iš2ö £0>Bš¹yÛ½.ñ}.•Plõ´Âüz¼šà•Y$ª¢Šnm†(˜¶­…‘yÞŪZG‹ªvü3^~þö ‚4TçnAŸ'•-œ<ÌS¤0‡+ÑXX¿n±¡ä7ÜŽ¬¼#³ ¥PŽr;eE!å4jB wPâ±Å£b¾™M$ èü?±h$“‰tzâõ7‘Ä®ev!¥ð6s¤¨z"±¤“ÁŠ4Î%ˆL(³ZÈóÙäìT3糸VˆÍáèd¸I’…%”ëàæ“DÚ{O'9‚Õ>IYâf”Ü[Å> FðƦ|Ú¾ö”6¡¤(©žt˜žÜŸOqJAc_".Â$Ü›y\l—–‹Nbo¾ƒ™ÕÄDÌ øoxi¸ÄÍ&™Q£Jô‘‚ÉÅÑ·pYTÁ^âÍŒS†2l¾6”ë«…eÀƒ+¦wn§EÊâ0ÙH46ÉSÑ6)&<4ŽØ¼{ *þLÆÍe‘GÆÁTš²&0¶á¯!z~Ù¢˜:f&iëf"ç †z}ó ‰A§5ˆ·bÄh¸Jœ"aÈRø–Xþýã÷?Y £K?ֵ➥3þ«`„¹} ËÙ¨W áæ ^BÁ%XÎ^ÛJ±YW¡¨¾¢ÞòuO e ÀD„ÕXEdî1ݤ< –ý®ª;h= 'NÞê%ݯÄà®DTw_Iy4U¡PCNñÅ4“ ”Êë0_dìL²lèu‰Ï+3ð<"Ñ<âL€´[âÍ,:Á´éWR'§6²ž¾Tm¦–õÀ骸Ùì¸ñË’M éÎ,Š ˆœ5²Åyvfã2 0YÅ;›ã’Ô@Ù=ü4ò%^œ"ÝvOËî@׿Èpî—%›M@ñêjå !â9UÐ%žâ&ºôþN7¤¢5¬¹GSÚ•Á3Š(8øCõŒÝÀ)<´GWû\Äyì]¼}Ûyºø£XÒÅ ® †PLCÞ‡îjðÄĺôv§Ú|^ÎìæQ8wÁ~uÅz‹ŽÍt™»k:1Èo!’@ŠKOö WT(_!=¹a)¦ÊMY ùùÛ§W§|TgŽ>¢‰GÈŒTn/›°©n1(R=S U{„Š8MÜ䳊-_ÉÓ²9`¥Áñ&é²Ç)¯®›í[-«ÛâAm”º‰´þî ÈkâxŒbŸªåjC¦Ì:÷ÍøÂb—ÕBÄ1 s Äl5ç¶¢kCر°_R¤çU‹ì@"S·à ÃÀ3ŠêPt'0ݺ¥]u÷KœI4Œ›…) òä¤v/pÅt¨¬N1 ˜H‹´­ˆØD·N².»óZ<žâ¡cÚ–$c j[ö ‚!Õ¸Ä)Ã-ŸUªº¢BJf®(¢Èb½ï]\޳X({(Î ‹nÐuǾÀEƒ»©˜î©À´?bu·O3â¬óâÌ’fOÇró”îî˜,‡ÆV‡¦u‡âbAsÌÛ‚aÀ1E­}”xš!s¢=AÐ}øõ÷ÿñ¯oN_1IžŠˆz¨>³0 >obâÅtNÆ™˜ÄÊ’¶hê»É3ž×6|jGF¿Ølà¿ÛsÝÊ•XE=ˆ†pªCÔâØW4Å3GpêDÜÁ{„8lVG4ÖÛšîÊɈ^¨Yän§Žæ)틆¢šÝiÌŽy­×èž y_0Ýþ+o¦‡H5h¸¦·ª;ßmlNî–a¬\Ó ¹ C;îÊ L5Ä«ט8,Æ+nÆç-Ÿ.®…ª16®„JÙ,?–d—Ób~xª+fXVç-Óìžd¯\L7ð<Ù?žš§ öÕeuÂE‚¥Ã9ÄæÑâ·Ã4®†®EZTC£öe_Ð]]Ù¦%Ö+†JžŽ‹¡è#¸†»#fêd“À—¤50kÙ–=D†ÚÙbëFu ÝÅÍÛ_ÞÿçÛïlw8¸f~¿)å4Ô½$Dl‰È͹™bP‹Ä ôžrš®sœGSˆ=Ô Q«vßM—“Y«G—§Xg.A EHƒ±¤j0%ìå’aÞ.Yq֥˜:܈x» -J¦{A:\®`»êÊC8Μ¾VYûðÁ)/JÌHcâf ¾¸èž2‚ \Ž#çãMµ&iì6Ä 5áÞvÏ.TIñÅ!y¢•9¬hî{MŒ†èŽNùuëÏÀ̇}zýåëëÿL#Í5j\ÉÎÌËO1Ýéáê,Õ§jDÅy5Ðø!ª–4C° fâ03Žâ<„»1C%qJRmsO±q’"R[ý7¥Áº‚󺫣8ÊÖZÀ«MÝz=Ö4]ºijVlΤ¥Ò}5ù³$š ¸z2‘­õÊ´´JûS×– UMt.‹Û. IÆQž µl~ «ph6dQ—½U]´Ôz.)Ž¡{?¦k5D*ÖI5šz®©†D2>ß;Šé ÞÓ5˜z¬hçíem.ˆM¡¨P‘ϧ_×\Ù3f_¨©`j…«†°ä`ùTh·¤›fµ–lRÑç?ä§°„'õ½ƒƒÀ#Q¡ò3úquÙÉŒ]øÉ“yÊ„»&^crŽÀâºuºvPgÁ,~FŽ Š:ÝÌKùíR©qLŽXšOõ9Ðîº@*šÂÌ|E¥Qp¶útK7³$ÙÏ* ½¨Ì‹Díڛݫ/ ˆïFþdĈªdRt[¿þåË_¿¯üŠ*ÔSL­;”ÛY)аº…›²Ÿ56á#•HjiÖ@J躋¯ù-3ƒåÇÃ@…{õúý(Í/4Oýþ®Ú4P!|%_³®¶V5iÝÿŸ²&€ºnK|…ÁÒÁ¡ž&Ö[£ÂùÒãô˜P{ÐÉ`#FgÞ¨*uÁc¶ÍiÊI«á  W02ŽÆ©bc_Е£šjªm‹¾9('—ÖLp_0|e5tç9|Ý(b,–«¬æ æ^ æÁ‹†h‚ÏŽâ‹{VÚÖ¶%Ì›tnÑLrÅj*r}wE×8¯ÏI¿BÁWewjضnc(‹p4·ÆÅw(Ø`ΞéãPÃã1Ž=47ñÍ•ÞÐm ÒF»y¼2X¿„!7ìâUužw¼„ÊlΤv7¯AïØ=À!£îm’¥¬Iáp©[š]Ö×›Åu³—•r^ÑéZx_0ÜàÀùVqý²ù¿ôzrÊØ±‹gŒ¡ÃDµá~$úð%úpçᛛÿ‹@´Ê/ÿ5 ƶ$LearnBayes/data/soccergoals.txt.gz0000644000176200001440000000006513253523017016676 0ustar liggesusers‹KÏOÌ)æ2C.C 4bc.S01H°:#(ÛÊ_}=LLLearnBayes/data/marathontimes.txt.gz0000644000176200001440000000011413253523017017240 0ustar liggesusers‹=Ê1€0 CÑݧ¡I›10°qõ³0<ɶüÞÏ¥±,C6âÄ”“\Ÿ}†¼ÈÍÖü»~a¤ÑŠJmÏCx²ULearnBayes/data/studentdata.txt.gz0000644000176200001440000001634413253523017016721 0ustar liggesusers‹\Im·q^_ý—¾àT– ÄÈB%ÈZŽ^bÁÖYJþ~XsÕi90`I~¯«yÈbM_ üæ×ß¾ûò㯯?}ùþ¿ÿòëë_¾üøÝ—_^ßüå§/}ýÛ¾øãÿ|÷÷׿ýôÍß¾|ùùõßþõË¿ÿüúÓ·ßÿòŸ¿ýúúןþüúã/ßÿø×¯êk®×}ùáÛ¿}yÕòü×G{à î?³¼zyýï·¿~ùå«öšC [y-$½$ûUð?ÿôóWý5«-Õ^÷^H²î?é~øþoýjªû¯qÿµßôaýÖýKã~fÞ¿?¯z)p%üÒ|Í®k|ý‡»Ìý­ÑÀÖXy7—¦¿t7pÏL·ã¹îFñ'Eèh9üàyÍi›¾LÁ]þñ’ñZ÷^ÊËõj— È#<]SÔúZ‰ð÷ñt :‘)Z8ßÝÎÀ‹ø¨ø±mç»ô~s— /ïŒÏw×À×û»ýþ/6ïîq-üäÝd[òM»ºËíî[¿ŒØ¼ÚÄóÉZƒ„ÀøPõõžª)Ù¾?»ëZjø×<1X¸3úòy^ÏkU&˜t:½•{´Š´"—%\คۥîÞÍݲÐU[îàv›‰ïý¿BÒ‚Ì4Q]‹þ,tW˜LêýúfÄãÅ ûâ½óŽ'k´bÃňëWrü¦//Q)$î K!'Zd;ñH¸>ñÿ5Ûþeûö6b_þ I”vúÞ¢²àVùÜýú *A_)" AÃ.wg ²…RÂVüg½§ÓVSiÔ1>j%¥6’–÷vM÷‘m[ {`Úý-’½vÏ<îÇ«ð¬ =t´ú:$ó¾§»t™ÜL?$¸J÷T¿¶•õÞ§¯hqÒbÉÄ:î¸kÔÃz7½Þ÷KL úÉö˜¿#ÛšA&Pûf²¶M„â°Ê*·F†φ‹JŒª‡Éiø#[îêŽ]ÓèA¹ÑAæË5¡ÔòqÇ2[É@,´;Geˆ È*Sê ߥšYÒÆÌ¼¾„ËÂŒ¢hu:Þê•ævóz"5t÷wkE|‡^ÔˆÆþ~g³xU²órºûKþ-–NáþÃÊAô¯t@1)‡¾GL|×£:Hy™ù¨l{¯û ‚Ȧ‚NG÷½Ty!òüôÕ›FŸ³Ë²ðfŸ7qSõ{ûUC´;h"^E]ñý}úÚÊ_;äçT‹Š‰5ì(Öâ6™Eeû59®þBÁ,¨æÍ®¸ù2äñÚ®õ fä {X0ÄyN¿–{yI«›š8²ô+¬F^V¼TGÖhο'ÿp²6_0ݽ.9[õk¹;r{TïÑ>*›oaâ݈š4´f-XǪ×µIרw«r±µ|&9¶$(•|¨^D¼3Ç«Äà|1ß=ÜßÞo¸j7`-éPØb=+m—°rªÑ–FÄ2­ÇR€QÎÆb:¹EŽ— Û92a…¸¨áÞºÂâ/¾¨í ÎtíQŒ×a.,Іš|îd&¸Y¥/r|‚„»ßM\ïU‘šÓõïXµð6Å5T’…æÂ¶› °üýbí­ïÈù†R}-£  .Ëj#;¦»Û´û¨í=`#U²ïŽ÷!gÈG™O³^Ì”,¹ƒM ë4›Ì¹¹ÂwPù½ór]£»ƒºif{@y#ªFëuY€Eú%Äv¬ÏòU±ò¼Ö‰výz÷ú—ªô~/p¾œd Ùª®¶°Þìá±H³¢$pĵ3Pq-ìä­5‰u)‘A“¢ð¢â¾Î ª2x™“µéG¯QÚ‰´ÄÎxp#ã Åéú‘·[<Œ\LJ1þ½‚™Ù]•Ý=`…RC°%|A^—âH®––£irlEe¥ê'{Þùý$pL–f(ÛìÎøDlm-®–ÈPE@U™h!“7f¤pÍŠq¯Ò8‚ñýì ±u3ˆáH¢:Ñ öR0«ñÕˆ™+ j‰¦6—ÝŠXtµF -眺¿ãE-„ù íßôªÖþz¨°Žàämz@ísÿ–ŒŠ¹ƒæ‘t½¢+ Aª•-ª/¶žAª(2—*0b'Y@URÏ«ºžÆqˆ¿+ÔaªW[ ßD¿±t­àZ*¢Õ¡Qê²Ø~ã½KìU\­Œe‹bZýZ"J1¨⦔j„„Ë$£Ã #€`ž6‹‹ZáK©ˆTý’›X2öANu’–šÄ2GVo4êV¨ç€¯좰r:Äs%1^¯ˆ:qûþ¯Q JéjÅ1›P[7†©-ÂÕˆÔRâH“Uºl÷LJ>¨{_`úÑGÀ%íÄòàE> wQp†(.¬}f±ôïjQðÈ~^O 4öëh†Ñì+7v;bÇ{HG°5RÌû¯NíQþGè¸âo›)àƒ õ׸D5$F©âZ› ÿˆì £i­xó®j,D—DÌ–¸JiF8áâè‘ø°-'R©ŠÒBŽAçTDª5ØèIfĤ‡2"B¹rH¾ÉFÑA¸:‚ÖXd„ûNˆuqDÿ5˜† ÷š‹ ƒ•kÑê¹Y!“}ÍÉ)MKðEå3סg¼w°o2œ’™·ôñÒïdo°®¨‚8*†E·~I.ËÛ;õÝ‚1ã¾Ü5Ã3Í.’{×)7†ò’¥ðN ‚ó÷Þˆ–¡–T‘fS Š·ûý˜â\@››æ[[(âv ›ýƒz³m[Ub„Z6‡‰¾© |ñoIÞ ÒÅ©õ !ZSˆ¸\(áR6o³-³öÖSú­ –yÑ^•¤Û<˜\ʦ>r%’ÌeˆTt7©r¨NW ®J43 ÙŸß»YÜ&a\X†)2­|0m­;ódÄ(c)3[ÆC£AZ²)þ â‹v”g^Jòv#£[øFQÞbÐR3I®÷7ëD@`'WŒ*9¬Í`xpºÙ`4`_ ‚÷iM«:,Ts­J:cÔ œ¶ÕÍ%×3V¸ËZ2Ü2ÀØBåöª¢ºÛZ<)Ý Ÿà·¦»°²@u.ù$8k µAEmNkç½s ¥Ž¬[r AûT›m^›Î>HÙˆE,³ø?X= ›0ôF±Tå‹ðh¥!8ޱ!¾×uf`œE‚9„s°RE´p¶—ëuQ¥`G+°°öÑé‹Ç4>õ0 KÜņÌ”—Mn¨BT3‘Á{Ës“Ì£C 4 ß™,Vt‡0¶"tvœ#i:øçêöla›n áÜ$gÜF\j¦.¦Éeo5ç¼#7ù7ؤ(Cg†eâ98;“NòV½°)¬\­Ž]Iˆ[¢ì/7ÂC?àýêÙ~‚5™µøm«£ƒÌlcëèA¢äVô&cÞ’r-ÖÝæ ^¨bV¾iÈÃ¥5«aø—g'ƒdƒÒ˜ç¢>ÈF¦´«Ä®T„éÜZÔmïÍ­óŒ3‰Ñ؉XÜÛ'Œ<<­Å“ ¿Î3Êy¼4pµío Eß!sýÉÔ"¥·¿´‹‘a‡i£ò Å%—&dªÏ£` 6uP…Ú¦¢9¶ÚJ5=]ÀR‰D3&Ú^9¾‡äu:'vNýôPù±Ì|Û'{ý©ùNiãsåD r@‹]ÞŠMb +½Æ/‚ìv¾ eªw:QW-@êJnü±%‚æ”qR:*¸›.uuý;¤jÚ¬HÝÒ&©qµ™ä•¤"Æx ŒÏ#%=õ¨S²¨B¶só ª‘­w…<è݉¥j­’f“Êd½Ä{hlBÀ~eýâ䵓I ;^襅wØ•¦;h쥇¤’Öð¬;•hd•Ÿh$µ¼IÒyiàéóšö•ÅP§—G'w³0°L­•+û<» G}®Î‘›_|Ñx\Í£¿¢‡èJÌ÷i–dî\›d§$ý•¡YÂX³â^›ë5›¥!Ñ7ÌìÏú°§ø¨ ®ù’ÃÒd˜»ïÒ“ÎYU“9)vH3f©NéÿÊåÕà7z}Ôæ[(AÆÆ Øbp¨ƒþn¶O#sp@™¶¢yM¢ÞJÈ«aAëNTCÜQcækz,ÜGd]E…¾³ÞMX+扸›M)G.xtZ§ææ{ƒToªÖãŸ-@bSÝ;NÃàAo©J/Ee)TZã[oÛ˜;¹kIdeÈÉ&“L«æº%F{N™º'«AÝ­45ì©kªOXSî½÷*¬Tî|KˆQx@ºCPYhç¡6ì­ð$óâ}z‡Ü™O™@CÃéfø˜`;]K?¶R1üC­{ìçì¬þEJ€u)NÀ¦¨†:<ì꣸®†LõNÑM5dérAma+Úlׇ÷½-ÃT]RlÝGOè{6ÎŒÔn,^—lÒuÍËð^Î.åÖT ë#õŒ6yÜõWçJ†¢O¸§®È¬3ìµ€eÔâ®N®? é©KõÔ%û©iƒO{ õŸZ¯eÝ$?‹~VˆV¦6ê<«Æ“îV!†á%ϬCw †.-T³tH ÌwJóþñ¡%x=©ã¾Æ{OMÌÜÌ¥3 l,`pò•..ª.½ÈRX ŽÍÃMäcó{r±H’ IúŒm‰ânÕíèì¹CƒÃu>f‚K=75WñÅò_5¸Ó>ûâæ±I¾Î|¶Y{+¢ù”ùýµÉáS„0wHOQ˜®JhRì_yÚA¡-xwr_Ÿª“ÍQ~çJ-üÚ]`¡X ,?¦6§lbX·RÓ©x"‰®j}ÅsrBl¼¬gXo~=ÔÀ‹e”¶ {=j”“wêlw˜ÓY)â!fXµX$ªÙçwn@“n¤Z¢7]'_ïˆéÏi÷]>u7–bw7²€î4¶Ø¸“Êr4ÍSx}GE­î¯äE{HâŸhk*qô=‚‡œÜu±8ºÑYˆfêÕndÞYÕ÷|äÒÞÜ] û^æ²ï±Ð›„Ž6äƒqº¨ i-ÚiªKkè”d’f·†—Z#²Åb×ÉnÊ` :…K“P¼fwž®èÌ@S‘ÔQ‘×èV*ܽµ ,‚öÊ„‹{D±"Ç(OªH7²žzhS‘jÇ[²ZÏJÈ(qžX¹%„ÖQ±X$Ц¢ÃaßÖo=à×’˜Î¿–\ƒ4×xÞ!ØâQ ÷y’)á:¹/7³¢x«ëʇ\9Þž!Ø“vŽ²Ã ýš·ï[æy`Ÿtluó*†Ë£–5$ÕñR¦Žeš²Ó˳Óy.kÔ¨Mûñ5òÂÏËþkÏ„`y./QóбRV-Û$Z¦™¢Q!$³ùºt ÕïêÙ,M#'˜¡ñ„Âû7èªÀ Å#Aáÿ‡ì„Žq>¤©¨Kçk% ÃõêÏA¤Ñjvj“ä LS¹nv‰†1€#4 ÕVëØz—|ŠÍ>é%bœ·ƒ‰a'7_·³¼Á§Abåhw£Í4ØThf^@’¬ÐŒQf(W¢ËEÀ•jv‡4„î„'ôÅ’r†Þ}!³—çP[ ÿ;\âàóŽÀ Ü Ýv£·`ç›tJ4·eLÔŸsï]!œ Ž>‚MÍŠ {Ž¡G’tà ÷–3}†¢o÷„;<‹ÃBbëY¶„†T,ôÒ*R¶¢û cï"w‘ýÎu"&.n÷ø¼ô©ž®EdðþÔÈR^a¸fŒ(ûÎ@»áºE®ã"bˆÕæÎžîCq’)ÈÙE´”HŽV}Ä!VY~Ì«·H'Á¬ª.SDJ³žùæ®ýœ±“uŒŽê³oKs“ÒNµ3(´^ü‘Æ{ )ÉK„mv9™ Eúï´Ž\.  %€p²OI¸ÊÛª‘_pÀ±kÞX8N ñæ vìÍšþ–Ï`ÃB w|ÈGPOm¯‘Ó ‹ÄÿˆÙð©âå„¡®.8³ì‚¼ªÒ¼õ|ìÔ*$­QñY?Å~V”c÷^õî±=O]ù¬37VK'D34d-î2’ožšIºà¶ÀàGã7Ò½@ë? ©†N¡íûO¬à¹ pˆÉbu@r+¤<̬}TŠyŒè-=!vIÇÝ7Ãz÷@xi`#ux"'ŒQ¿CždœX"hYª¡ïî°¡”0™:Â_÷Y˜°®×éqŸ ày+Œ0¥>Úç¡ôŒ«–?pà¯U vATL5šðÍÔ/W^Ò|›ßJDÁÁØê-^SWdåñ2ÁÑ9/ÒAñ=kÕ¤£¢à÷¹ÃØZ¬·B7JPmã-SU_8ªöz…"P3áO«Vƒó"Ö«°A9Œþãê8# c„ögåÞ4ù^L?“ÔX$Ük°9c†6°Ã¯ÂíøñV.êp™QÁh¶L´9âÒ©‰Å oš ¦l9?ćhÖO%t·b¶òe38nU_àHQWz¤8i†IJð‘¬çAo?=â—|6u›XÆ Yx&%ZÈ»ëþêÕ§Þ«¥•(«°r%j‡Ùdhá;½;€1[Õ˜l89î¬Û ÿé ‚¯`– ;z‹lMb]fìü!ÙðèwD›?[î¤G…ÞVÂSY›iN{Jôóm0ýñ%´r×Tu *ÀƒP ^ò¶Ž š0•îË[ѵ5K=©Œ,¶2&ÞƒYc8ï,?Ñ RVù¹Û5âL` ΰÊ']ÓvË$²ëÑ‚Ž …ÖîZ? Ï /Þò[Âÿiù;XýÙ% åFÒö#DãµÄÉ}ë5"ÐE¨¡;hœR£9X3Ç#V ;^=Æ e@ja+/éÂVŠý,ë§¡BL‘Þ¿âÙ´ &­x2àÅ¢i{‰ð(ì8 Ó©‡ÛÒ1îáŠ($Ä[%1ꃃ“Ýs¿äÉé|ÿ\| ¸‹¡ò• ]¬{¼‡t§ ãëž±ì!8’9‹faÏ^¦wàƒ'Às§˜S`^îÂËèNx¬J¦˜/A %pâûSžd™où¶¬s¨©ýB¸œ4/Ü‹–ˆk“Š¢’E”‚Œ(é>ƒâ‡ €b±Z"€Jw3¢ç§Be83w*ÙKŒ>6©ßtˆ‹Ñ"ÕyT ãöï6úÈ´‰Ûìó˜>¼í……Ï™©š,ÁPm ýC³Ôt^iô?1¥9KÌ;Ï”´< 7êz=‹׫öÒBg‰ À}þEë½¾dÙmJyîY¢ TÓ;ÛÇ‹Q!÷zÄYw½ýñ)6i6‰ægÙq1z¨C‹´áAÛYNNÁÛ6;G0³–ú¡)üÌ;®(ÐrPÂT>ɱbGÚ¦,5<¥@ŽÞÇÁ2rZv¨ ¿—œÐãä®ä&>jÖ96…— [ž‘ý LazyData: yes Description: A collection of functions helpful in learning the basic tenets of Bayesian statistical inference. It contains functions for summarizing basic one and two parameter posterior distributions and predictive distributions. It contains MCMC algorithms for summarizing posterior distributions defined by the user. It also contains functions for regression models, hierarchical models, Bayesian tests, and illustrations of Gibbs sampling. License: GPL (>= 2) Packaged: 2026-01-30 18:17:01 UTC; jimalbert NeedsCompilation: no Repository: CRAN Date/Publication: 2026-01-31 07:40:50 UTC RoxygenNote: 7.3.3 Imports: coda, lattice, survival Author: Jim Albert [aut, cre]