% This case study uses Entropy Pooling to compute Fully Flexible Bayesian networks for risk management, see
% A. Meucci (2010) "Fully Flexible Bayesian Networks", working paper
%
% Most recent version of article and code available at
% http://www.symmys.com/node/152
clear; clc; close all;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% upload scenarios table and prior distribution for changes in
% SWAP2YR SWAP10YR CDXIG S&P500 DollarIndex Crude Gold VIX 10YRInflationSwapRate
load FreaqEst
[J,N]=size(X);
e=.01;
p=(1-e)*p+e*ones(J,1)/J;
[m,s,C]=ComputeMoments(X,p);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% input views
% statement: View(k).Who (e.g. [1 3])= View(k).Equal (e.g. {[2 3] [1 3 5]})
% optional conditional statement: View(k).Cond_Who (e.g. [2])= View(k).Cond_Equal (e.g. {[1]})
% amount of stress is quantified as Prob(statement) <= View(k).v if View(k).sgn = 1;
% Prob(statement) >= View(k).v if View(k).sgn = -1;
% confidence in stress is quantified in View(k).c in (0,1)
for n=1:N
k=2*n-1;
View(k).Who=[n];
View(k).Equal={[-1]};
View(k).Cond_Who=[];
View(k).Cond_Equal={[]};
View(k).v = .4;
View(k).sgn =-1;
View(k).c=.5;
k=2*n;
View(k).Who=[n];
View(k).Equal={[1]};
View(k).Cond_Who=[];
View(k).Cond_Equal={[]};
View(k).v = .4;
View(k).sgn =-1;
View(k).c=.5;
end
k=2*N+1;
View(k).Who=[1 2 8];
View(k).Equal={[-1 0] [-1 0] [1]};
View(k).Cond_Who=[4];
View(k).Cond_Equal={[-1]};
View(k).v = .9;
View(k).sgn =-1;
View(k).c=.1;
% create linear constraint representation of views on probabilities
[A,b,g] = CondProbViews(View,X);
% add constraint for view on correlation
C_12_=.6;
New_A=(X(:,1).*X(:,2))';
New_b=s(1)*s(2)*C_12_ + m(1)*m(2);
New_g=-log(1-.1);
A=[A
New_A];
b=[b
New_b];
g=[g
New_g];
% enforce consistency
db = Tweak(A,b,g);
b = b+db;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% compute posterior
Aeq = ones(1,J); % constrain probabilities to sum to one
beq = 1;
p_ = EntropyProg(p,A,b,Aeq ,beq);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% plots
figure
subplot(2,1,1)
bar(p)
YLim=get(gca,'ylim');
subplot(2,1,2)
bar(p_)
set(gca,'ylim',YLim);
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【达摩老生出品,必属精品,亲测校正,质量保证】 资源名:动态贝叶斯网络算法的计算和改进_FullFlexBayesNets_matlab源码 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有一定经验的开发人员
资源推荐
资源详情
资源评论
收起资源包目录
动态贝叶斯网络算法的计算和改进_FullFlexBayesNets_matlab源码.zip (8个子文件)
动态贝叶斯网络算法的计算和改进_FullFlexBayesNets_matlab源码
FreaqEst.mat 74KB
ComputeMoments.m 129B
S_CaseStudy.m 3KB
EntropyProg.m 2KB
CondProbViews.m 2KB
S_ToyExample.m 2KB
Matlab实现无约束条件下普列姆(Prim)算法.docx 14KB
Tweak.m 258B
共 8 条
- 1
阿里matlab建模师
- 粉丝: 3222
- 资源: 2782
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页