关键字全网搜索最新排名 『量化投资』:排名第一 『量 化』:排名第一 『机器学习』:排名第四 我们会再接再厉 成为全网优质的金融、技术类公众号 问题类型1:参数估计 真实值是否等于X? 给出数据,对于参数,可能的值的概率分布是多少? 例子1:抛硬币问题 硬币扔了n次,正面朝上是h次。 参数问题 想知道 p 的可能性。给定 n 扔的次数和 h 正面朝上次数,p 的值很可能接近 0.5,直播,比如说在 [0.48,0.52]? 说明 参数的先验信念:p∼Uniform(0,1) 似然函数:data∼Bernoulli(p) importpymc3 aspm importnumpy.random asnpr importnumpy asnp importmatplotlib.pyplot asplt importmatplotlib asmpl fromcollections importCounter importseaborn assnssns.set_style( 'white')sns.set_context( 'poster')%load_ext autoreload%autoreload 2 %matplotlib inline%config InlineBackend.figure_format = 'retina' importwarningswarnings.filterwarnings( 'ignore') fromrandom importshuffletotal = 30 n_heads = 11 n_tails = total - n_headstosses = [ 1] * n_heads + [ 0] * n_tailsshuffle(tosses) 数据 defplot_coins():fig = plt.figure() ax = fig.add_subplot( 1, 1, 1) ax.bar(list(Counter(tosses).keys()), list(Counter(tosses).values())) ax.set_xticks([ 0, 1]) ax.set_xticklabels([ 'tails', 'heads']) ax.set_ylim( 0, 20) ax.set_yticks(np.arange( 0, 21, 5)) returnfigfig = plot_coins()plt.show() # Context manager syntax. `coin_model` is **just** # a placeholder withpm.Model() ascoin_model: # Distributions are PyMC3 objects.# Specify prior using Uniform object.p_prior = pm.Uniform( 'p', 0, 1) # Specify likelihood using Bernoulli object.like = pm.Bernoulli( 'likelihood', p=p_prior, observed=tosses) # "observed=data" is key# for likelihood. MCMC Inference Button (TM) withcoin_model: # don't worry about this:step = pm.Metropolis() # focus on this, the Inference Button:coin_trace = pm.sample( 2000, step=step) 结果pm.traceplot(coin_trace)plt.show() pm.plot_posterior(coin_trace[100:], color='#87ceeb', rope=[ 0.48, 0.52], point_estimate= 'mean', ref_val= 0.5)plt.show() 95% 的 HPD,包括 ROPE。 获取更多的数据! 模式 使用统计分布参数化问题 证明我们的模型结构 在PyMC3中编写模型,Inference ButtonTM 基于后验分布进行解释 (可选) 新增信息,修改模型结构 例子2:化学活性问题 我有一个新开发的分子X; X在阻止流感方面的效果有多好? 实验 测试X的浓度范围,测量流感活动 计算 IC50:导致病毒复制率减半的X浓度。 数据 (责任编辑:本港台直播) |