保序回归与金融时序数据

保序回归在回归问题中的作用是通过拟合一个单调递增或递减的函数,来保持数据点的相对顺序特性。

一、保序回归的作用

主要用于以下情况:

  1. 有序数据:当输入数据具有特定的顺序关系时,保序回归可以帮助保持这种顺序关系。例如,时间序列数据、评级数据或排序数据等。

  2. 无噪声数据:如果数据中存在噪声,即一些离群点或错误标记的数据点,保序回归可能会受到这些异常值的干扰。因此,保序回归更适用于相对干净且有序的数据。

  3. 数据平滑:保序回归可以用于平滑数据,消除数据中的波动和噪声,以获得更加稳定的趋势。

  4. 非线性关系:当数据中存在非线性的关系时,保序回归可以更好地捕捉这种非线性关系,而不受线性回归的限制。

python 复制代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.isotonic import IsotonicRegression

# 构造示例数据
X = np.array([1, 2, 3, 4, 5])  # 自变量
y = np.array([2, 3, 1, 5, 4])  # 因变量

# 创建并训练保序回归模型
model = IsotonicRegression()
model.fit(X, y)

# 预测新的数据点
new_X = np.array([5, 6, 5.5])
predicted_y = model.predict(new_X)

# 输出预测结果
print(predicted_y)

二、保序回归处理金融股票时序数据并可视化

python 复制代码
data = {}
data['close'] = pd.read_pickle('close.pkl')['stock_1'].iloc[-500:]
data['open'] = pd.read_pickle('open.pkl')['stock_1'].iloc[-500:]

n = len(data['close'])
X = np.array(data['open'].values)
y = data['close'].values

from sklearn.isotonic import IsotonicRegression

ir=IsotonicRegression()
y_ir=ir.fit_transform(X,y)

plt.figure(figsize=(15,6))
plt.plot(X,y,'r.',markersize=12)
plt.plot(X,y_ir,'g.-',markersize=12)
plt.legend(('Data','Isotonic Fit'))
plt.title("Isotonic Regression")
plt.show()

三、一个小例子

  1. 收集了股票价格和动量因子的历史数据,其中 stock_prices 是股票价格的时间序列数据,momentum_factors 是相应的动量因子数据,target 是标记股票涨跌的目标变量。

  2. 创建一个 IsotonicRegression 对象 model,并使用 fit 方法拟合模型,将动量因子作为自变量,目标变量作为因变量进行训练。

  3. 定义了新的动量因子 new_momentum_factors,并使用 predict 方法对其进行预测,得到相应的股票涨跌预测结果 predicted_target。

python 复制代码
# 收集股票价格和动量因子的历史数据
stock_prices = np.array([100, 110, 120, 130, 120, 110, 100])
momentum_factors = np.array([0.5, 0.7, 0.9, 1.2, 0.8, 0.6, 0.4])
target = np.array([1, 1, 1, -1, -1, -1, -1])  # 标记股票涨跌,1为涨,-1为跌

# 创建并拟合保序回归模型
model = IsotonicRegression()
model.fit(momentum_factors, target)

# 预测新的动量因子对应的股票涨跌
new_momentum_factors = np.array([0.5, 0.4, 0.7])
predicted_target = model.predict(new_momentum_factors)

# 输出预测结果
print(predicted_target)
相关推荐
rgb2gray15 小时前
增强城市数据分析:多密度区域的自适应分区框架
大数据·python·机器学习·语言模型·数据挖掘·数据分析·llm
大数据魔法师17 小时前
分类与回归算法(六)- 集成学习(随机森林、梯度提升决策树、Stacking分类)相关理论
分类·回归·集成学习
大数据魔法师20 小时前
分类与回归算法(五)- 决策树分类
决策树·分类·回归
happy egg21 小时前
随机森林分类VS回归
随机森林·分类·回归
7***374521 小时前
DeepSeek在文本分类中的多标签学习
学习·分类·数据挖掘
用户199701080181 天前
1688图片搜索API | 上传图片秒找同款 | 相似商品精准推荐
大数据·数据挖掘·图片资源
X***E4631 天前
前端数据分析应用
前端·数据挖掘·数据分析
毕设源码-邱学长1 天前
【开题答辩全过程】以 海鲜市场销售数据分析与预测系统为例,包含答辩的问题和答案
数据挖掘·数据分析
合作小小程序员小小店1 天前
web网页,在线%抖音,舆情,线性回归%分析系统demo,基于python+web+echart+nlp+线性回归,训练,数据库mysql
python·自然语言处理·回归·nlp·线性回归
Teacher.chenchong1 天前
GEE云端林业遥感:贯通森林分类、森林砍伐与退化监测、火灾评估、森林扰动监测、森林关键生理参数(树高/生物量/碳储量)反演等
人工智能·分类·数据挖掘