模型平稳性指标psi和csi

模型平稳性指标psi和csi是用于检验时间序列数据是否平稳的统计量。它们的原理是基于Augmented Dickey-Fuller (ADF)检验,通过计算自相关系数和偏自相关系数来检验时间序列数据的平稳性。

1. psi(Partial Autocorrelation Integrated): 它是对原始自相关函数进行积分得到的,可以衡量时间序列数据的平稳性。当psi接近于0时,表示数据具有平稳性;当psi大于0时,表示数据具有非平稳性。

2. csi(Cumulative Sums of Squares): 它是对原始自相关函数的平方进行累加得到的,可以衡量时间序列数据的平稳性。当csi接近于0时,表示数据具有平稳性;当csi大于0时,表示数据具有非平稳性。

应用:在金融、经济学等领域中,经常需要对时间序列数据进行平稳性检验,以确定数据是否符合假设条件,从而选择合适的模型进行建模。

Python代码如下:

import numpy as np
import pandas as pd
from statsmodels.tsa.stattools import adfuller

def calculate_psi(series, lag=1):
    """
    计算PSI值
    :param series: 时间序列数据
    :param lag: 滞后阶数
    :return: PSI值
    """
    series = np.array(series)
    n = len(series)
    mean = np.mean(series)
    var = np.var(series)
    psi = []
    for i in range(lag + 1):
        psi.append((np.sum((series[i:n] - mean) * (series[:n - i] - mean)) / (n * var)))
    return psi

def calculate_csi(series, lag=1):
    """
    计算CSI值
    :param series: 时间序列数据
    :param lag: 滞后阶数
    :return: CSI值
    """
    series = np.array(series)
    n = len(series)
    csi = []
    for i in range(lag + 1):
        csi.append((np.sum((series[i:n] ** 2) - (mean ** 2)) / (n * var)))
    return csi

# 示例数据
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 计算PSI和CSI值
psi_values = calculate_psi(data)
csi_values = calculate_csi(data)

print("PSI值:", psi_values)
print("CSI值:", csi_values)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

田晖扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值