奇趣编程|如何使用深度学习进行时间序列分类?

深度学习在很多方面都有着广泛的应用场景,比如人脸识别、图像分类、物体识别、语音识别、文本分类、推荐系统等,今天奇趣编程腾讯qq在线和大家分享一下深度学习在时间序列分类上的应用。

大体上看,用深度学习来进行时间序列分类的过程分为三个步骤:输入时间序列-使用某个深度学习算法进行训练-输出分类概率。这里的深度学习算法有两种,一种是生成式(Generative),一种是判别式(Discriminative)。

时间序列的分类算法思路有以下几种:

1、基于距离的思路。

2、基于特征的思路。

3、基于神经网络的思路。

时间序列降维可视化方法有以下两种:

1、分段聚合,使用局部平均等方法进行降维。

2、核变换,使用BG核或均值核来进行降维。

就目前来看,深度学习在时间序列分类上的应用是一个比较新的领域,很多思路和方法需要大量的各行各业的专业人士去研究。

奇趣编程|什么是时间序列分析?

时间序列是指半某种现象的某一个统计指标在不同的时间上的各个数值按时间先后顺序排列而形成的序列,主要由时间和指标数值两者构成。

时间序列分析
时间序列分析

时间序列的特点是:

1.是基于现实的数据,而不是由模拟实验产生的数据。

2.是基于时间动态变化的数据。

奇趣编程腾讯qq在线和大家分享一下什么是时间序列分析。

时间序列分析的英文是“Time-Series Analysis”,时间序列分析是对时间序列的分析,是对动态数据处理的统计方法,基于随机过程理论和统计学方法,研究随机数据序列的规律,通过建立模型进行过滤、预测、控制。

常见的时间序列分析有天气预报、股票、销量预测等。时间序列通常会有显而易见的周期性特征,比如天气预报,会有季节性,这是由地球公转和地理原因造成的;股票,会有季报性,每逢年报即将发布的月份为了数据好看通常会涨一波;销量,各行各业都有淡季旺季节假日之分。所以时间序列分析的模型通常需要有季节性项、节假日项、噪音项、趋势项,也就是时间序列上的数据周期性通常是由这几个大的因素造成的,找出重要时间点,从而实现预测。

时间序列分析,可以用于短期、中期、长期的预测,又分为简单序时平均数法和加权序时平均数法。简单平均数法,就是把近期和远期的数据等同看待求平均值,适用于周期性数据变化不大的的情况,比如天气预测。加权平均数法,就是把历史各个时期按影响程序来加上权重再求出平均值,以作为近期的预测,比如宏观经济预测、环境污染。

时间序列分析在宏观经济预测、区域发展、经营管理、气象预报、水文预报、地震预报、农业灾害预报、环境污染、海洋学、天文学、生态学等各个方面都有广泛应用,值得学习和深入研究。

奇趣编程|大案牍术——古代的大数据统计学

某部国产剧里虚构的“大案牍术”,相当于今天的大数据、统计学、概率论、人工智能、统计与决策,它是通过对数据的收集、整理、分析,预测事情的起因、发展和趋势。

“大案牍术”是虚构的,但唐代的数据统计技术却是真实的。今天奇趣编程腾讯qq在线和大家说说古代的统计。在唐代的《国计簿》里有这样的记载:

史官李吉甫撰《元和国计簿》,总计天下方镇凡四十八,管州府二百九十五,县一千四百五十三,户二百四十四万二百五十四…… 吉甫都纂其事,成书十卷。

《旧唐书·本纪十四》

可见这些官方文献已经有了基础的大数据功能,是官方有组织地收集、整理、分析出来的数据,统计了地域、人口、经济、产量等国家整体的情况。

国家统计这些有什么用?

一是战争。战争就是国家人力、物力、财力、生产能力、技术的大比拼,一场战争有多少胜算,是开战前就能通过对战争各项影响因素统计就能分析出来的。

二是税收。有多少人口,产量如何,能收上多少税,要不要加税减税,这些都要有统计数据作为决策依据。

三是政策的调整。人口有越来越少的趋势,就要鼓励生育;生产能力低力,就是出激励政策;技术发展停滞,就要培育人才。

还有其它很多方面都需要统计来辅助决策,欢迎大家补充。

奇趣编程|利用随机数大数定律和小数定律的偏态打法

什么是大数定律?

大数定律就是在随机事件的大量重复出现中必然出现的规律。简单点说就是随机数大数据里呈现出来的规律。

什么是小数定律?

小数定律是人类往往把大数据呈现出来的规律套用到小样本中的不理性行为。简单点说就是随机数大数据里才有的规律在少量的随机数里是体现不出来的。

比如说,抛1万次硬币,它的正反面出现次数接近50%,这是大数定律,数据量足够大才有的规律。接下来还抛10次,如果前面五次抛出来的都是正面,就断定后面的五次都是反面,肯定是错误的,这就是小数定律,数据量不够,所以是小数定律,只抛10次并不能体现出抛1万次的规律。

那怎么解决这个问题呢?奇趣编程腾讯qq在线和大家分享一下。

前面抛一万次出现的规律,后面还要用相同的次数才能体现出来。也就是说,前面抛1万次出现的规律是正反面出现的次数是各50%,那后面不能只抛10次,而要继续抛1万次,才能用上“正反面出现的次数是各50%”这个规律,否则就会陷入小数定律的陷阱。

现在你知道那些打短线、中线、加仓减仓的人是怎么亏损的了。

要想稳定,就只有打长线、仓位固定。

奇趣编程|随机漫步的随机数曲线怎么预测趋势?

如果把随机数以曲线的形式表现出来,那未来即将发生的随机数是呈现随机漫步的特点的,就像一个醉汉,他的下一步是随机的。那么有什么办法可以预测趋势呢?今天奇趣编程腾讯qq在线和大家一起分享。

随机数曲线的下一个随机数,是随机漫步的,所以只针对未来的一个随机数,是无法准确预测的,但是从随机数曲线整体上来看,它是呈现出一定的规律性的。

在股票中,股票的价格曲线虽然是随机漫步的,但它本质上是多空双方的资金博弈,股票价格会走向阻力小的一方,股票的曲线,就是最小阻力路线,所以股票中有阻力位和支撑位的概念。

但股票的价格并不是纯由随机数驱动的数据,它有很多现实因素决定着它的价格趋势。比如说,公司的所处行业环境、国际环境、产能、盈利水平、技术更新、人事调动、新闻事件等,都会对股票的价格曲线造成影响。

我们奇趣编程只研究单纯的只有随机数这一个因素影响的曲线,所以对这种随机数曲线趋势的预测,不需要像股票那样考虑太多太复杂的东西,只考虑纯数学意义上的东西就行,用统计学、概率论等就能为我们提供很多预测趋势的方法。

奇趣编程|腾讯qq在线|怎么用中心极限定理寻找随机数规律?

随机数有规律吗?怎么发现规律?怎么能直观地看到随机数的规律?随机数的规律是什么?今天奇趣编程腾讯qq在线和大家分享。

对于随机数的规律,在统计学概率论上有一个“中心极限定理”,它是指在适当的条件下,大量相互独立随机变量的均值经过适当标准化后呈现正态分布。

举一个例子。

假设有100个随机数,随机数的取值范围是0-100之间,那么平均值是50。然后对这100个随机数进行抽样统计,将每次抽样的平均值和总体平均值进行对比。假如说抽样1000次,每次从这100个随机数里随机抽出固定的N个随机数来计算出本次抽样的平均值,把所有的抽样平均值都记录下来,形成图表,我们可以发现抽样均值的分布形成了一条钟形曲线,呈现正态分布的特点,抽样的均值接近总体的均值。

在统计学概率论所有的定理中,中心极限定理是最重要的定理之一。真正理解这个定理,就能把它应用到股票、博弈、概率、决策树、人工智能等项目中。

我们可以利用这个规律来作什么呢?利用有限的已知的随机数来推断出整体的平均值。比如说,我只有1万个随机数,我怎么推断出整体的100个随机数的平均值呢?

在1万个随机数里进行多次抽样,把每次的抽样平均值都记录下来,形成的钟形曲线如果呈正态分布,那抽样的平均值就是整体的平均值。

奇趣编程|胜率是怎么计算出来的?

有很多朋友问奇趣编程关于胜率的问题,很多时候他们分不清概念,我在这里作一个统一的回答腾讯qq在线,欢迎加我交流探讨。

胜率有两种,一种是针对过去而言的。比如过去A和B下棋1000盘,A赢了600盘,B赢了400盘,则A过去的胜率是60%,B过去的胜率是40%。

一种是针对未来的。

已经A过去的胜率是60%,B过去的胜率是40%,那AB再下一盘,A的胜率是多少?B的胜率是多少?

我们可以想到,A的下棋水平应该是稳定的,不会突然智商下线,所以A未来的一盘对战胜率仍然会有60%。

已经A过去的胜率是60%,B过去的胜率是40%,那AB再下1000盘,A的胜率是多少?B的胜率是多少?我们认为A在未来的1000盘里胜率仍然是60%,也就是会赢600盘左右,因为A的水平是稳定的。

假如A的水平是不稳定的,或是B作弊,或者是有其它人在决定输赢结果,那胜率就无法计算。

任何一个问题的结果,都是由大量影响结果的因素来决定的,只要影响结果的因素没变,结果的胜率就不会变。

奇趣编程|随机数也有统计规律性?怎么样才能看到?

一般认为,少量的、个别的随机数是没有规律性的,但是大量的随机数里有没有统计规律性呢?今天奇趣编程腾讯qq在线和大家分享下。

任何事物,既有其偶然的一面,也有其必然的一面,大量的偶然就存在着必然。大量的随机数,通过试验、观察、统计、分析,我们发现它有频率的稳定性,即某一个随机数发生的频率经常在某个固定的值附近出现,并且观察的数据量越大,规律越明显,这种规律我们将它叫做统计规律性。

统计规律性具有以下几个特点:

1、随机数的数据量要大。

2、数据量越大,规律性越明显。

3、存在涨落现象。

我们可以用生活中抛硬币的例子来说明。

如果我们一个硬币抛十次,是找不到规律的。如果我们拿十个硬币抛一次,也是找不到规律的。

假如我们拿一个硬币抛一万次,规律就出来了,我们会发现硬币的正面和反面出现的次数是比较接近的。假如我们拿一万个硬币来抛一次,也是正面和反面出现的次数比较接近。数据量越大,每个面出现的次数越是接近平均数。这就说明它存在统计规律性。

统计规律性

我们还可以用伽耳顿板来做实验证明大量随机数的统计规律性。咖耳顿板是在一块竖木板上规则地钉上很多铁钉,木板下部用竖直隔板隔成许多等宽的槽板,用玻璃作面板以便观察。当把大量小球从顶的顶部落下时,小球与钉子多次碰撞落到底部的槽位里。

当放入少量的小球时,各个槽位里的小球数量是没有规律的。当放入大量的小球时,各个槽位里的小球数量就出现明显的规律了:

伽耳顿板
伽耳顿板

我们可以看到,底部的小球是呈钟形正态分布的。反复做这个实验,可以观察到虽然各槽位的小球数量有轻微变化,但整体上的分布情况仍然符合正态分布。也就是说,对于任意一个小球或少量的小球是随机的偶然事件,但对于大量小球来说,是一个必然事件,这就是统计学概率论中的统计规律性。

奇趣编程|涨跌过程中要不要用凯利公式加仓减仓?

趋势曲线永远都处在涨涨跌跌的过程中,因为了有涨跌,所以有了盈利和亏损。那么,在涨跌的过程中,是否应该用凯利公式加仓减仓?目前有两种观点,今天奇趣编程和大家分享一下,腾讯qq在线,欢迎大家加我交流探讨。

先看加仓减仓的观点。

这一派认为,在涨的过程中说明跟对了趋势,应该加仓以便增加利润积累速度,在跌的过程中说明跟反了趋势,应该减仓以避免更大的损失。在概率论中,确实是存在凯利公式,当在期望净收益为正的时候,按一定的比例加仓确实可以便增长率达到最大化,当期望净收益为零或负数时,凯利公式得出的结果是减仓、停止操作、及时撤退。

再看不加仓减仓的观点。

这一派认为,凯利公式是建立在期望净收益为正的确定性上的,但实际中期望值总是处在变化之中,并不能确定期望净收益是正还是负,所以凯利公式派不上用场,如果都能确定必涨或必跌了,那就应该全仓或空仓而不是按比例加仓减仓。

公说公有理,婆说婆有理。奇趣编程是怎么看这个问题的?

奇趣编程认为,实际上,双方的争论归根到底还是在对趋势的判断上。假如能百分百的确定趋势是一定会涨,那肯定是应该全仓才能达到利润最大化。如果没能确定趋势是涨还是跌,那加仓还是减仓也是可以考虑的一种操作。

但是,如果在涨跌过程中加仓减仓,说明人要盯盘打短线,既然人工盯盘,肯定会耗费时间和精力,并且还会受到各种因素的影响频繁操作,这样就会一路加仓减仓,一路后悔和庆幸,严重影响情绪波动。

所以奇趣编程认为,不要去操作短线,而要操作长线,这样能避免长时间盯盘浪费时间精力和影响情绪,不要在涨跌中途加仓减仓,而要始终保持仓位不变。

也就是说,打长线不存在加仓减仓的问题,也不存在大涨大跌的问题,因为打长线是用时间来消除风险换取稳定,趋势过程中的波动已经被长线平摊掉了。

奇趣编程|怎么使用“模拟退火算法”来优化排列组合?

模拟退火算法,顾名思义,就是模拟生活中的固体退火的原理来设计出来的一种算法,是统计概率学中的一种算法。今天奇趣编程向大家分享这个算法的原理,腾讯qq在线,欢迎加我交流探讨。

生活中的“退火”,是先将固体加温到一定程度,然后让它自然缓慢降温冷却,从而改变固体的粒子秩序。在加温的过程中,固体内部的粒子随着温度的升高而活跃变得无序,而在缓慢冷却的过程中固体内部的粒子逐步变得不活跃而有序,最后冷却到常温时,固体内部的粒子全部都变成有序状态。

模拟退火算法,就是模拟这种过程,通过迭代和随机寻优,最终寻找出排列组合的最优解。

模拟退火算法是一种通用的随机搜索算法,目前人工智能神经网络中有广泛应用。它能有效避免局部最优而全局非最优的陷阱,最终算出一个不仅局部最优并且全局也最优的排列组合。