手把手教你使用Logistic回归LDA和QDA模型预测指数涨跌 1 引言机器学习(Machine Learning)是人工智能(AI)的重要组成部分,目前已广泛应用于数据挖掘自然语言... 

机器学习(MachineLearning)是人工智能(AI)的重要组成部分,目前已广泛应用于数据挖掘、自然语言处理、信用卡欺诈检测、证券市场分析等领域。量化投资作为机器学习在投资领域内最典型的应用之一,已经越来越广泛的出现在我们的视野中。

机器学习可简单理解为利用统计模型或算法拟合样本数据并进行预测,其模型算法根据学习任务可以分为分类、回归和聚类。分类方法是对离散型随机变量建模或预测的监督学习方法。分类是按照某种标准给对象贴标签,再根据标签来区分归类。而所谓的学习,其本质就是找到特征与标签间的关系(mapping即映射)。换句话说,分类预测模型是一个从输入特征到离散的输出标签之间的映射函数。分类方法常用的有朴素贝叶斯、分类树、支持向量机、KNN、集成学习(包括随机森林)和深度学习等。

股票指数涨跌的预测本质上是一个分类问题。机器算法有很多种,没有最好的模型,只有更适合解决当前问题的算法。当然,本文的目的不是寻找最优的算法,而是机器学习在分析预测的应用。基于此,本文以Logistic回归(LR)、线性判别法(LDA)、二次判别分析(QDA)模型为例,对上证综指的涨跌进行预测。后续推文将会应用其他可能更有效的算法,包括SVM、集成学习和深度学习等。

逻辑回归(LogisticRegression,LR)是广义线性回归分析模型之一,其本质属于分类问题,因此主要用于被解释变量为分类(离散,如0,1)变量的情形。在分类问题上,逻辑回归要优于线性回归,因为线性回归在拟合被解释变量为离散时会出现负概率的情况,会导致错误的样本分类。而逻辑回归采用对数函数将预测范围压缩到0与1之间,从而提升预测准确率。

假设L1,L2,…Ln为预测因子,LR模型使用对数公式对上涨(U)的条件概率建立以下模型:

一般使用最大似然法来拟合上述模型。关于逻辑回归的详细推导此处不再展开,想进一步了解的可以找本计量经济学入门教材学习(如伍德里奇的《计量经济学导论》)。机器学习库scikit-learn提供了估计模型的“黑盒子”。

线性判别法(LDA)

线性判别分析,全称LinearDiscriminantAnalysis(LDA)与LR的区别在于,LR使用对数函数将P(Y=U|L1,L2,...,Ln)建模为给定预测变量Li的响应Y的条件分布;在LDA中,给定Y,分别对Li变量的分布进行建模,并通过贝叶斯定理获得P(Y=U|L1,L2,...,Ln)。

本质上,LDA是通过假设预测变量来自多元高斯分布得出的。在计算出该分布的参数的估计值之后,可以将这些参数输入贝叶斯定理中,以便对观测值属于哪个类别做出预测。LDA假定所有类别共享相同的协方差矩阵。由于scikit-learn提供了拟合和预测方法,所以不用太担心对预测所需的分布或后验概率的公式不了解。

二次判别分析(QDA)

预测主要分为三个步骤:

第一,根据上证综指指数收益率的正负划分为上涨(1)和下跌(-1)两种类型,作为被解释变量。

df=pd.DataFrame()

#上涨用1表示,下跌(含0)为-1

df=df.dropna()

returndf

预测准确率:LR模型:0.557LDA模型:0.566QDA模型:0.590

从模型的预测准确率来看,并不是很理想,三个模型中使用QDA的效果要好一些(可能因为训练数据集样本较多,而测试集分配较少),准确率也只有0.59,只比投掷硬币好一丁点。下面以QDA模型为例,使用混淆矩阵和ROC曲线对模型的预测性能作进一步评价,混淆矩阵图没有给出,ROC曲线图很直观,此处不过多分析。model=QDA()

model.fit(X_train,y_train)#模型在测试数据集上的预测

pred=model.predict(X_test)

#构建混淆矩阵

cm=pd.crosstab(y_test,pred)

cm

#绘制混淆矩阵图

#计算正例的预测概率,而非实际的预测值,用于生成ROC曲线的数据

y_score=model.predict_proba(X_test)[:,1]

#fpr表示1-Specificity,tpr表示Sensitivity

fpr,tpr,threshold=roc_curve(y_test,y_score)

#计算AUC的值

roc_auc=metrics.auc(fpr,tpr)

#绘制面积图

plt.figure(figsize=(8,6))

#添加对角线

#添加文本信息

#添加x轴与y轴标签

plt.show()

本文主要以逻辑回归(LR)、线性判别分析(LDR)、二次线性判别分析(QDR)为例,展示了机器学习算法在股价涨跌预测上的应用。模型预测效果不甚理想,并不代表机器学习算法的失效,主要原因可能是没有选择好合适的预测的因子,关于什么样的因子才是预测股指涨跌的最好因素留待读者自己去挖掘(这也是量化研究者孜孜不倦在追求的)。

THE END
1.数据挖掘的基本步骤和流程解析:深入洞察与策略实施在数据时代的浪潮中,数据挖掘技术已成为企业洞察市场、优化运营和驱动创新的利器。 它融合了统计学、机器学习、数据库管理和人工智能等领域的先进技术,旨在从海量数据中 提取有价值的信息。 本文将深入探讨数据挖掘的六个基本步骤,并详细解析每个步骤的操作要领、关键技术和实 https://blog.csdn.net/m0_67484548/article/details/142664830
2.什么是数据挖掘的流程?一步步带你掌握数据挖掘的完整过程7. 知识表示和应用 在模型评估之后,需要将挖掘出的知识以易于理解和使用的格式呈现,并将其应用于实际业务场景中。这一步骤的核心在于将复杂的分析结果转化为可操作的商业决策。例如,可以通过报告、图表或仪表板等形式向利益相关者展示分析结果,帮助他们做出更明智的决策。 https://www.cda.cn/view/204893.html
3.机器学习找不到创新点?三种特征选择的方法包你拿下顶会!文章介绍了一种新的特征选择框架shap-select,该框架通过在验证集上对目标变量与原始特征的SHAP值进行线性或逻辑回归,并根据回归系数的符号和显著性水平来实现高效的特征选择。在Kaggle信用卡欺诈数据集上的评估表明,shap-select在解释性、计算效率和性能方面均表现出色。 https://www.bilibili.com/read/cv40067807
4.数据挖掘基于数据挖掘技术的CRM应用腾讯云开发者社区三、客户关系管理应用数据挖掘的步骤 (一)需求分析 只有确定需求,才有分析和预测的目标,然后才能提取数据、选择方法,因此,需求分析是数据挖掘的基础条件。数据挖掘的实施过程也是围绕着这个目标进行的。在确定用户的需求后,应该明确所要解决的问题属于哪种应用类型,是属于关联分析、分类、聚类及预测,还是其他应用。应对https://cloud.tencent.com/developer/article/1044985
5.数据挖掘技术在客户关系管理中如何应用四、客户关系管理应用数据挖掘的步骤 1.需求分析 只有确定需求,才有分析和预测的目标,然后才能提取数据、选择方法,因此,需求分析是数据挖掘的基础条件。数据挖掘的实施过程也是围绕着这个目标进行的。在确定用户的需求后,应该明确所要解决的问题属于哪种应用类型,是属于关联分析、分类、聚类及预测,还是其他应用。应对现有https://www.wenshubang.com/xingzhengguanlibiyelunwen/151599.html
6.数据挖掘的步骤包括什么需要注意的是,数据挖掘是一个迭代的过程,每个步骤都可能需要根据实际情况进行调整和优化。此外,随着技术的发展和数据的不断增长,数据挖掘的方法和技术也在不断演进和改进。因此,在实际应用中,需要根据具体情况灵活运用各种技术和方法来满足不同的需求。 数据挖掘的步骤包括什么?数据挖掘是一种强大的工具,可以从海量数据https://www.pxwy.cn/news-id-81213.html
7.数据挖掘分析流程数据挖掘分析报告daleiwang的技术博客预先不知道目标数据的有关类的信息,需要以某种度量为标准将所有数据划分到各个族中,因此聚类分析又称无指导的学习。 客户细分在电信营销中的应用; 六、数据挖掘过程的一般步骤 数据挖掘的过程包括如下六步: 6.1 定义商业问题就是了解你的数据和业务问题,这是实施数据挖掘的基本前提,一个数据挖掘项目必须要有一个清晰https://blog.51cto.com/u_13633/9019208
8.数据挖掘的步骤有哪些?一旦模型通过评估,就可以将其部署到实际应用中。这一步骤涉及到将模型嵌入到业务流程中,确保其能够为决策和预测提供有用的信息。 三、基本方法 1. 数据预处理 在进行数据挖掘之前,数据预处理是至关重要的一环。这一步骤包括数据清洗、去噪声、处理缺失值等,旨在确保挖掘过程中使用的数据质量高、完整。 https://www.smartbi.com.cn/wiki/6291
9.数据挖掘(计算机科学)发现知识的方法可以是数字的、非数字的,也可以是归纳的。最终被发现的知识可以用于信息管理、查询优化、决策支持及数据自身的维护等。数据挖掘步骤 在实施数据挖掘之前,先制定采取什么样的步骤,每一步都做什么,达到什么样的目标是必要的,有了好的计划才能保证数据挖掘有条不紊地实施并取得成功。很多软件供应商和https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/216477
10.空间数据挖掘认识及其思考AET摘要: 在这个大数据时代,空间数据正在从各个领域飞速累计。空间数据挖掘作为数据挖掘的一部分,现已成为人们研究空间数据的重点学科。主要介绍了空间数据挖掘的基本概念、一般步骤及其最新的挖掘方法,表达了对当前空间数据挖掘的看法。最后对未来空间数据挖掘的研究方向进行了更加深入的探讨。 http://www.chinaaet.com/article/3000015273
11.数据分析与挖掘11篇(全文)Web数据挖掘过程是一个完整的知识发现的过程,但与传统数据和数据仓库相比,Web上的信息是非结构化或半结构化的、动态的,并且是容易造成混淆的,所以很难直接以Web网页上的数据进行数据挖掘,而必须经过必要的数据处理。因此可以将Web数据挖掘分为确定业务对象、数据准备、数据挖掘、结果分析等四个步骤。 https://www.99xueshu.com/w/ikeyp687ycyz.html
12.数据挖掘的六个步骤有哪些帆软数字化转型知识库数据挖掘的六个步骤分别是:问题定义、数据收集与准备、数据清洗、数据转换与特征选择、模型建立与评估、结果解释与部署。其中问题定义是数据挖掘过程的首要步骤,直接影响整个项目的成功与否。问题定义涉及明确业务目标、研究目标和所需的数据类型。只有在问题定义清晰的情况下,后续的每一步骤才能有的放矢,确保数据挖掘的结https://www.fanruan.com/blog/article/594251/
13.高效实施数据挖掘的方法和步骤yuanye1014产生的结果是否易为商业用户所理解?如果不能,需要采取什么步骤以使结果便于读懂?该工具是否要求商业专家参与整个数据挖掘过程? ? 第六阶段:结果发布 数据挖掘过程可能很简单,如只是对商业问题给出一个建议,也可能很复杂,如应用一个应用程序向信息客户提供新知识。无论简单还是复杂,在结果发布阶段,都要用到该过程。http://blog.chinaunix.net/uid-64814-id-2690182.html
14.计算机科学与技术学院课程介绍课程描述:Web网站构建技术是计算机科学与技术专业专业选修课,是针对当前Internet的发展以及WWW应用的一门课程。通过本课程的学习,使用学生能掌握Web网站的基本概念、基本原理和构建的基本方法;通过课堂讲授、课程实验以及课程设计,使学生能利用一种基于Web的开发环境,掌握开发的基本步骤;了解Web数据安全;了解Web服务及其相关https://it.ouc.edu.cn/2021/1009/c21707a350061/page.htm
15.数据挖掘概念与方法(精选八篇)本文首次将形式概念中“紧致依赖”理论应用在空间数据挖掘中, 在一个GIS实例中运用此理论找出关联规则, 并且对其在空间数据挖掘中的应用做出了一定的改进, 提出了基于Apri-ori剪枝的“紧致依赖”约减方法, 并证明了方法的正确性和优越性。运用此方法, 不仅可以无遗漏地找出所有满足支持度阈值并且置信度为1 的强关联https://www.360wenmi.com/f/cnkey6cf58u0.html
16.数据挖掘的基本步骤是什么?模型部署:将评估通过的模型部署到实际业务中,进行预测、分类等工作。 在实际应用中,数据挖掘的步骤可能会有所调整和扩展,但以上步骤是数据挖掘的基本流程。 关键字:数据挖掘、步骤、业务目标、数据理解、数据准备、建模、模型评估、模型部署0 相关课程 精英成长第4课:创新思维--问题意识创新破局 邹亮 ¥ 99.00 https://www.mbalib.com/ask/question-1ff33c04b2a8f83d1aff9875a50d017f.html
17.什么是数据挖掘?为什么它如此重要?数据挖掘的步骤 数据挖掘的方法取决于所问问题的类型以及提供分析原材料的数据集或数据库的内容和组织。数据挖掘涉及的步骤包括: 理解问题 企业的决策者需要对他们应该从事的领域有一个总体的了解。他们应该知道需要探索的内部和外部数据类型,并对业务和所涉及的不同功能领域有深入的了解。 https://ai.qianjia.com/html/2023-03/27_400072.html