如何在R或Python中生成服从Hawkes过程的随机变量?求对应函数
生成Hawkes过程随机变量的函数推荐
R语言
hawkesbow库
使用simulate()函数,支持单/多变量Hawkes过程的事件序列生成,参数化调用逻辑和rexp类似:
library(hawkesbow) # 定义Hawkes模型核心参数:基础强度lambda0、激发强度alpha、衰减系数beta hawkes_model <- hawkes(lambda0 = 0.5, alpha = 0.3, beta = 0.8) # 生成指定数量的事件 events <- simulate(hawkes_model, n = 100) # 或指定时长生成事件 events <- simulate(hawkes_model, duration = 100)
hawkes库
使用hawkes_simulate()函数,直接传入参数即可生成事件序列:
library(hawkes) # 参数:基础强度lambda0、激发强度alpha、衰减系数beta、模拟总时长T simulated_events <- hawkes_simulate(lambda0 = 0.5, alpha = 0.3, beta = 0.8, T = 100)
Python语言
tick.hawkes模块
通过SimuHawkes类实现模拟,支持自定义激发核类型,步骤清晰:
from tick.hawkes import SimuHawkes, HawkesKernelExp # 初始化单变量Hawkes过程,设置模拟结束时间 hawkes = SimuHawkes(n_nodes=1, end_time=100, verbose=False) # 添加指数型激发核(参数为激发强度alpha、衰减系数beta) kernel = HawkesKernelExp(0.3, 0.8) hawkes.set_kernel(0, 0, kernel) # 设置基础强度 hawkes.set_baseline(0, 0.5) # 执行模拟并提取事件时间序列 hawkes.simulate() events = hawkes.timestamps[0]
hawkeslib库
使用simulate_hawkes()函数,简洁直接生成事件序列:
import hawkeslib # 参数:基础强度mu、激发强度alpha、衰减系数beta、模拟总时长T events = hawkeslib.simulate_hawkes(mu=0.5, alpha=0.3, beta=0.8, T=100)
内容的提问来源于stack exchange,提问作者Alice
相关产品推荐
相关产品推荐

