手把手教你使用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/2401_84615737/article/details/143439857
2.数据挖掘的理论技术和方法数据挖掘的原理数据挖掘的理论技术和方法 数据挖掘的原理,数据挖掘其实是一种深层次的数据分析方法。数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。应用的技术包括:数据库技术https://blog.51cto.com/u_13019/6270379
3.〖治学探微〗数据挖掘方法在名老中医用药规律研究中的应用如上所述,关联规则、聚类分析、因子分析、无尺度网络数据挖掘方法在名老中医用药规律的研究中发挥着重要作用,是全面深入挖掘名老中医的临床经验、用药特点及学术思想的有力工具。在数据挖掘过程中应遵循“人机结合、以人为主”的原则,在数据挖掘方法的选择上应根据研究目的的不同选择最科学有效的挖掘方法,综合考虑各种http://yswx.njucm.edu.cn/2019/0929/c4217a55245/page.htm
4.数据挖掘技术方法(精选十篇)笔者认为要提高复习课的效率,必须突破现在的复习课模式,挖掘技术背后的思想与方法,让学生进行深度学习,学生才会乐意参与到复习课堂中来。 二、高中信息技术复习课的现状 1.忽略知识的原理性 技术起源于人类生活的需求,人在开发技术的过程中,总会持有一定的思想去设想它,会持有一定的方法或遵循某种规律、原理去实现它,https://www.360wenmi.com/f/cnkeyg31vygx.html
5.专业认知实习报告规则推导:从统计意义上对数据中的“如果-那么”规则进行寻找和推导。 通过刘勇老师对数据库挖掘的讲解,我明白了数据库挖掘的作用,通过数据挖掘可以把一些对自己有价值信息,在海量的数据库信息中抽取出来,然后来供自己使用。也让我明白了数据库挖掘的一些基本方法和原理。老师的讲解激发了我对数据库的兴趣。同时了解到https://www.ruiwen.com/shixibaogao/8009542.html
6.数据挖掘:原理与应用——丁兆云,周鋆,杜振国1.4.1 关联规则挖掘7 1.4.2 分类7 1.4.3 聚类9 1.4.4 回归10 1.5 本章小结10 第2章 认识数据11 2.1 数据的基本概念11 2.1.1 数据对象11 2.1.2 数据属性12 2.1.3 属性的类型13 2.1.4 属性类型的对比14 2.1.5 离散属性与连续属性14 2.2 数据的基本统计方法15 http://m.cmpedu.com/books/book/5605161.htm
7.R语言数据挖掘方法及应用(薛薇著)完整pdf扫描版[188MB]电子书下后续围绕数据挖掘应用的四大核心方面,安排了数据预测篇:立足数据预测未知,数据分组篇:发现数据中的自然群组,数据关联篇:发现数据的内在关联性,离群数据探索篇:发现数据中的离群点。每篇下各设若干章节,各章节从简单易懂且具代表性的案例问题入手,剖析理论方法原理,讲解R语言实现,并给出案例的R语言数据挖掘代码和结果https://www.jb51.net/books/630445.html
8.数据挖掘的四种基本方法数据挖掘的四种基本方法 东奥美国注册管理会计师 2024-12-06 14:51:12 遗传算法 遗传算法是一种依据微生物自然选择学说与基因遗传原理的恣意优化算法,是一种仿生技能全局性提升办法。遗传算法具有的暗含并行性、便于和其他实体模型交融等特性促使它在数据发掘中被多方面运用。https://www.dongao.com/cma/zy/202406204447292.html
9.数据挖掘原理与算法数据挖掘的主要问题内容提要?数据挖掘技术的产生与发展数据挖掘研究的发展趋势数据挖掘概念数据挖掘技术的分类问题数据挖掘常用的知识表示模式与方法不同数据存储形式下的数据挖掘问题粗糙集方法及其在数据挖掘中的应用?数据挖掘的应用分析数据挖掘技术的商业需求分析?随着信息技术的高速发展,数据库应用的规模、范围和深https://www.docin.com/p-2580655047.html
10.数据挖掘频繁项集挖掘方法中AprioriFP1. FP树原理 FP树采用分治策略的方法,在经过第一遍扫描之后,把代表频繁项集的数据库压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息;然后将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘(降低了I/O开销) https://developer.aliyun.com/article/1400152
11.利用数据挖掘的知识挖掘方法?Worktile社区利用数据挖掘的知识挖掘方法 一、数据挖掘的概念和基本原理 1.1 数据挖掘的定义和概念 1.2 数据挖掘的基本原理和流程 1.3 数据挖掘与机器学习的关系 二、数据挖掘的技术分类 2.1 监督学习 2.2 无监督学习 2.3 半监督学习 2.4 强化学习 三、数据挖掘的常用技术和算法https://worktile.com/kb/ask/85519.html
12.数据挖掘原理与实践2016A答案.doc噪声数据处理的方法一般有处理方法一般有分箱,聚类,回归这些处理方法。(需要回答得更详细一点) , 3.(10分)这是有一个有监督的分类挖掘任务。因此要解决以下几个问题: 采集数据的范围。应该在全国(全省)范围内进行分层抽样。样本需要来自不同层次的学校。 https://www.taodocs.com/p-86393356.html
13.数据挖掘原理(豆瓣)讲座方法直观易懂,深入浅出。第二部分是数据挖掘算法,系统讲座了如何构建求解特定问题的不同算法。讲座的内容包括用于分类和回归的树及规则、关联规则、信念网络、传统统计模型,以及各种非线性模型,比如神经网络和“基于记忆”的局部模型。第三部分介绍了如何应用前面讲座的算法和原理来解决现实世界中的数据挖掘问题。https://book.douban.com/subject/1103515/
14.《数据挖掘原理》课件20240207.pptx数据挖掘原理PPT课件CATALOGUE目录数据挖掘概述数据预处理常用数据挖掘算法数据挖掘应用场景数据挖掘的挑战与未来发展数据挖掘概述01总结词数据挖掘是从大量数据中提取有用信息的过程。详细描述数据挖掘是一种从大量数据中提取有用信息和知识的https://www.renrendoc.com/paper/310737466.html
15.一小时了解数据挖掘④:商务智能原理解读の数据挖掘九大定律制定对策:数据分析师在正确的分析了相关原因后,就需要给出解决方法和策略。一般来说,一个原因对应一个解决策略。当然也可能有多个解决策略对应于同一个原因。我们选择最切合实际,最可执行的对策和行动策略。 数据挖掘的九大定律 数据挖掘通用流程CRISP-DM的缔造者之一Tom Khabaza曾总结了在数据挖掘上的九大定律,如下https://www.cda.cn/view/621.html