前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Matlab用BUGS马尔可夫区制转换Markov switching随机波动率模型、序列蒙特卡罗SMC、M H采样分析时间序列

Matlab用BUGS马尔可夫区制转换Markov switching随机波动率模型、序列蒙特卡罗SMC、M H采样分析时间序列

作者头像
拓端
发布于 2024-11-19 04:56:10
发布于 2024-11-19 04:56:10
9600
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

原文链接:http://tecdat.cn/?p=24498

在这个例子中,我们考虑马尔可夫转换随机波动率模型

统计模型

是因变量和

未观察到的对数波动率

. 随机波动率模型定义如下

区制变量

遵循具有转移概率的二态马尔可夫过程

表示均值的正态分布

和方差

.

BUGS语言统计模型

文件“ssv.bug”的内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
file = 'ssv.bug'; % BUGS模型文件名

model
{
  x\[1\] ~ dnorm(mm\[1\], 1/sig^2)
  y\[1\] ~ dnorm(0, exp(-x\[1\]))

  for (t in 2:tmax)
  {
    c\[t\] ~ dcat(ifelse(c\[t-1\]==1, pi\[1,\], pi\[2,\]))
    mm\[t\] <- alp\[1\] * (c\[t\]==1) + alp\[2\]*(c\[t\]==2) + ph*x\[t-1\]

安装

  • 下载Matlab最新版本
  • 将存档解压缩到某个文件夹中
  • 将程序文件夹添加到 Matlab 搜索路径
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
addpath(path)

通用设置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lightblue 
lightred 

% 设置随机数生成器的种子以实现可重复性
if eLan 'matlab', '7.2')
    rnd('state', 0)
else
    rng('default')
end

加载模型和数据

模型参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tmax = 100;
sig = .4;

解析编译BUGS模型,以及样本数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
model(file, data, 'sample', true);
data = model;

绘制数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
figure('nae', 'Lrtrs')
plot(1:tmax, dt.y)

Biips 序列蒙特卡罗SMC

运行SMC

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
n_part = 5000; % 粒子数
  {'x'}; % 要监控的变量
 smc =  samples(npart);

算法的诊断。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
diag   (smc);

绘图平滑 ESS

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sem(ess)

plot(1:tmax, 30*(tmax,1), '--k')

绘制加权粒子

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for ttt=1:tttmax
    va = unique(outtt.x.s.vaues(ttt,:));

    wegh = arrayfun(@(x) sum(outtt.x.s.weittt(ttt, outtt.x.s.vaues(ttt,:) == x)), va);

    scatttttter(ttt\*ones(size(va)), va, min(50, .5\*n_parttt*wegh), 'r',...
        'markerf', 'r')
end

汇总统计

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
summary(out, 'pro', \[.025, .975\]);

绘图滤波估计

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mean = susmc.x.f.mean;
xfqu = susmc.x.f.quant;
h = fill(\[1:tmax, tmax:-1:1\], \[xfqu{1}; flipud(xfqu{2})\], 0);

plot(1:tmax, mean,)
plot(1:tmax, data.x_true)

绘图平滑估计

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mean = smcx.s.mean;
quant = smcx.s.quant;

plot(1:t_max, mean,  3)
plot(1:t\_max, data.x\_true, 'g')

边际滤波和平滑密度

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kde = density(out);
for k=1:numel(time)
    tk = time(k);
    plot(kde.x.f(tk).x, kde.x.f(tk).f);
    hold on
    plot(kde.x.s(tk).x, kde.x.s(tk).f, 'r');
    plot(data.xtrue(tk));
    box off
end

Biips 粒子独立 Metropolis-Hastings

PIMH 参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
thi= 1;
nprt = 50;

运行 PIMH

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
init(moel, vaibls);
upda(obj, urn, npat); % 预烧迭代
sample(obj,...
    nier, npat, 'thin', thn);

一些汇总统计

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
summary(out, 'prs');

后均值和分位数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mean = sumx.man;
quant = su.x.qunt;

hold on
plot(1:tax, man, 'r', 'liith', 3)
plot(1:tax, xrue, 'g')

MCMC 样本的踪迹

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for k=1:nmel(timndx)
    tk = tieinx(k);
    sublt(2, 2, k)
    plot(outm.x(tk, :), 'liedh', 1)
    hold on
    plot(0, d_retk), '*g');
    box off
end

后验直方图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for k=1:numel(tim_ix)
    tk = tim_ix(k);
    subplot(2, 2, k)
    hist(o_hx(tk, :), 20);
    h = fidobj(gca, 'ype, 'ptc');    hold on
    plot(daau(k), 0, '*g');
   
    box off
end

后验的核密度估计

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pmh = desity(otmh);
for k=1:numel(tenx)
    tk = tim_ix(k);
    subplot(2, 2, k)
    plot(x(t).x, dpi.x(tk).f, 'r');
    hold on
    plot(xtrue(tk), 0, '*g');
    box off
end

Biips 敏感性分析

我们想研究对参数值的敏感性

算法参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
n= 50; % 粒子数
para = {'alpha}; % 我们要研究灵敏度的参数
 % 两个分量的值网格
pvs = {A(:, B(:';

使用 SMC 运行灵敏度分析

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
smcs(modl, par, parvlu, npt);

绘制对数边际似然和惩罚对数边际似然率

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
surf(A, B, reshape(ouma_i, sizeA)
box off
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
如何维护爬虫代理
为了保证网络爬虫再爬虫业务中能更高效稳定运行,在使用代理时需要维护一个好的爬虫代理IP池。那如何维护爬虫代理IP呢?
用户6172015
2020/10/13
7330
隧道IP的原理与使用
随着大数据时代的发展,网络爬虫的用户也越来越多,随之HTTP代理成了网络爬虫的不可缺少的一部分。使用过http代理的都清楚,,使用代理ip的基础流程是这样的:爬虫用户使用程序发送请求到代理服务器,代理服务器将请求转发到目标网站,目标网站处理完后返回结果,代理服务器收到反馈到结果后将信息转发到客户端,这样就完成了一次代理请求。整个过程中,代理服务器就充当了一个转发请求和结果的作用。HTTP代理分为隧道代理和外网代理IP。有通过API提取的也有动态转发的爬虫代理。那什么是隧道IP呢?
用户6172015
2020/12/10
1.8K0
使用python制作属于自己的地铁图
在日常出行中有时候会需要用到地毯地铁,网上找的地铁线路图大多数都不太清晰,而且有水印,对本人这种视力不好的人来说看起来是真的不方便。我想可以通过站点数据制作属于自己的线路图。主要还是缺乏站点数据,有数据了图自然就有了。经过网上查询,发现高德地图上有专门的地铁线路图,但是不能导出数据或图片,只好自己想办法抓取了,下面我们就通过使用python获取自己所在城市的地铁站点数据。抓取思路是这样,首先,用浏览器高德地图官网 ,搜索地铁, 进入地铁线路网站如下,网址:http://map.amap.com/subway/index.html,然后我们通过python爬虫爬取各线路各站点的 名称、经纬度 信息,以供后续使用。在获取数据的时候我们可能会遇到反爬机制,像封IP的等行为。在访问的过程中我们可以加上代理以防万一,简单的爬虫过程如下:// 要访问的目标页面
小白学大数据
2024/06/08
1940
python如何抓取微博定时热搜
不知道大家在工作无聊时,是不是总想掏出手机,刷刷微博看下热搜在讨论什么有趣的话题,但又不方便直接打开微博浏览,今天就和大家分享一个有趣的小爬虫,那就是如何定时采集微博热搜榜&热评,下具体的实现方法我们接下来慢慢讲。首先我们需要找到微博排行、热度、标题,以及详情页的链接。热搜首页链接https://weibo.com/hot/search我们通过这个链接获取500条数据,热搜榜采集代码, 然后发起请求,简单的代码如下<?php // 要访问的目标页面
小白学大数据
2024/06/08
2180
更换HTTP代理的方式
爬虫代理IP被应用到了很多的场景中,无论是对于家庭网络还是工作中的网络来说,为我们平时的工作提供了很多服务,有其是网络爬虫,爬虫代理IP更是不可缺少的一部分。面对网络上许多IP代理商,选择代理可以根据不同的使用方向进行选择。
用户6172015
2020/12/21
4950
HTTP代理的应用场景
很多爬虫工作者都知道,爬虫工作的进行离不开HTTP代理IP的支持。除了网络爬虫,那么HTTP代理IP适合于那些应用环境呢?
用户6172015
2020/11/18
6450
判断代理IP是否是高匿
普通匿名代理能隐藏客户机的真实IP,但会改变我们的请求信息,服务器端有可能会认为我们使用了代理。不过使用此种代理时,虽然被访问的网站不能知道你的ip地址,但仍然可以知道你在使用代理,当然某些能够侦测ip的网页仍然可以查到你的ip。 高匿名代理不改变客户机的请求,这样在服务器看来就像有个真正的客户浏览器在访问它,这时客户的真实IP是隐藏的,服务器端不会认为我们使用了代理。
用户6172015
2021/02/01
3K0
python帮你更快选择国考职位
2022年国考明天开始报名,11月28日举行公共科目笔试,本次招考共有75个部门、23个直属机构参加,计划招录3.12万人。很多小伙伴都在考虑是否要报公务员,但是却不知道适合自己的岗位有什么,那么今天我们就来利用Python找出适合你的岗位吧!我们可以根据以往的报考职位表,找到以下的报考限制因素:专业、学历、政治面貌、基层工作年限等。 以我们计算机本科专业为例,没有任何的基层工作经验,以这样的条件筛选,那么我们可以报考的岗位有多少呢?我们可以利用python获取数据,但是因为暂时还看不到具体的岗位数据,我们就以去年的岗位为例。数据获取代码如下:
小白学大数据
2024/06/08
1040
正确的使用HTTP代理
HTTP代理对于网络爬虫是一种很常见的协议,HTTP代理协议也是大数据时代不可缺少的一部分。HTTP代理在网络爬虫中发挥出了他大量用途。HTTP代理其实有许多用途,例如:刷票,爬虫,抢单,刷单,等等一系列业务 都适合HTTP代理。其实对于网络爬虫工作来着说,许多网络工作者都不知道如何使用HTTP代理。那么如何才能正确使用HTTP代理呢?
用户6172015
2020/11/16
1.4K0
python3和scrapy使用隧道代理问题以及代码
近期,我参与了一个需要爬取国家食品药品监督局数据的项目,但该网站存在IP屏蔽机制。因此,我需要在Scrapy框架中实现自动IP切换,才能完成任务。然而,尽管我使用了第三方库scrapy-proxys和代理API接口,但测试并不成功。
小白学大数据
2023/03/02
9130
优化爬虫程序使用代理IP时出现的TIME_WAIT和CLOSE_WAIT状态
为了提高爬虫程序的效率,我们通常使用代理IP来同时访问多个网站,避免被封禁。但是,使用代理IP也会带来一些问题。在Linux系统下,我们经常会遇到TIME_WAIT和CLOSE_WAIT状态的问题。
jackcode
2023/05/05
4270
优化爬虫程序使用代理IP时出现的TIME_WAIT和CLOSE_WAIT状态
如何在 Docker 容器内部使用外部代理服务器访问HTTP网络资源
在某些情况下,我们可能需要在 Docker 容器内部向外部代理服务器发送请求。例如,当我们需要访问外部网络资源时,我们可能需要通过代理服务器来访问它们。另一个例子是在企业网络中,可能需要使用代理服务器来访问互联网资源。然而,由于 Docker 容器的网络隔离性质,使得容器默认情况下无法直接连接到外部代理服务器。因此,为了让 Docker 容器内部能够通过代理服务器访问外部网络资源,我们需要进行相应的网络配置,包括在容器启动时传递--network host选项来允许容器使用主机网络接口,以及在容器内部设置http_proxy和https_proxy环境变量来配置代理服务器。通过这些配置,Docker 容器就能够顺利地连接到外部代理服务器并访问所需的网络资源。
jackcode
2023/03/22
4.2K0
如何在 Docker 容器内部使用外部代理服务器访问HTTP网络资源
python3和scrapy使用隧道代理问题以及代码
最近有个项目需要爬取药监局数据,对方有ip屏蔽机制。所以我需要在scrapy中实现ip自动切换,才能够完成爬取任务。在此之前,我先使用过第三方库scrapy-proxys加上代理api接口,可能是代码没有完善好,导致测试没有成功。 所以这次选择使用隧道的方式来测试看下,使用的是python3和scrapy库一起测试看下效果。
小白学大数据
2024/06/08
1820
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
随着互联网信息爆炸式增长,获取有效数据成为决策者的重要任务。人工爬取数据不仅耗时且效率低下,因此自动化数据处理成为一种高效解决方案。本文将介绍如何使用Selenium与Excel实现数据爬取与处理,结合代理IP技术构建一个可稳定运行的数据爬取管道,专门用于从WIPO(世界知识产权组织)的Brand Database网站(branddb.wipo.int)中获取专利和技术信息。
jackcode
2024/10/15
2310
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
PHP爬虫性能优化:从多线程到连接池的实现
随着网络数据的爆炸式增长,爬虫技术成为数据获取的重要工具。从市场调研到用户行为分析,爬虫的应用无处不在。然而,在实际应用中,我们常常遇到爬虫性能不足的问题:单线程处理效率低下、请求超时、数据采集量庞大却无法及时处理等,这些问题严重限制了爬虫技术的潜能。
jackcode
2024/12/02
1750
PHP爬虫性能优化:从多线程到连接池的实现
Selenium+代理爬取需要模拟用户交互的网站
在日常爬虫采集网站的过程中,部分数据价值较高的网站,会限制访客的访问行为。这种时候建议通过登录的方式,获取目标网站的cookie,然后再使用cookie配合代理IP进行数据采集分析。今天我们就介绍下如何使用Selenium库来爬取网页数据,特别是那些需要模拟用户交互的动态网页。
小白学大数据
2023/05/18
3930
如何伪装本地IP
我们通过互联网上网的的时候,浏览各大网站时,个人信息随时都有可能被泄露,信息泄露都是悄无声息的发生,不会被用户发现。一旦发现我们自己的的信息被泄露的时候,说明肯定给自己造成了一定的损失。
用户6172015
2020/10/26
2.5K0
付费代理的使用
相对免费代理来说,付费代理的稳定性更高。本节将介绍爬虫付费代理的相关使用过程。 一、付费代理分类 付费代理分为两类: 一类提供接口获取海量代理,按天或者按量收费,如讯代理; 一类搭建了代理隧道,直
崔庆才
2018/06/25
4.2K0
影响HTTP代理速度的几个因素
随着大数据时代的发展,代理IP慢慢成为了中很多人经常使用的上网采集的一种工具。特别是对于一些专业的爬网络爬虫用户来说,这种代理是他们生活工作必不可少的工具。就如同我们平时上网一样。当然使用代理IP,肯定会考虑到速度问题。就像我们的本地IP一样访问一个网站一样也有延迟。当我们验证代理IP地址时,会间隔几秒。这间隔的几秒就是服务器的响应时间,时间越快,说明速度快,使用起来也快,好用许多。
用户6172015
2020/12/31
8820
解决网络爬虫使用代理IP效果变差的原因
现在的互联网大数据时代中,代理IP是网络爬虫不可缺少的一部分。大数据采集最简单直接有效的方法就是使用网络爬虫,不仅速度快,提高了业务率,而且还能更加有效率的采集到数据。网络爬虫都很清楚,如果使用本IP去采集大数据,是不可能完全任务的,所以就需要使用代理IP。
用户6172015
2020/11/26
4990
相关推荐
如何维护爬虫代理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档