首页 文章 精选 留言 我的

精选列表

搜索[智能推荐],共10000篇文章
优秀的个人博客,低调大师

推荐 10个 NB的 IDEA 插件,开发效率至少提升一倍

​>友情提示:插件虽好,可不要贪装哦,装多了会 卡 、卡 、卡 ~ 正经干活用的 分享一点自己工作中得心应手的IDEA插件,可不是在插件商店随随便便搜的,都经过实战检验,用过的都说好。可能有一些大家用过的就快速划过就行了。 1、GenerateAllSetter 实际的开发中,可能会经常为某个对象中多个属性进行 set 赋值,尽管可以用BeanUtil.copyProperties()方式批量赋值,但这种方式有一些弊端,存在属性值覆盖的问题,所以不少场景还是需要手动 set。如果一个对象属性太多 set 起来也很痛苦,GenerateAllSetter可以一键将对象属性都 set 出来。 快捷键:Alt+Enter 2、Alibaba Java Coding Guidelines 阿里出品的《Java 开发手册》时下已经成为了很多公司新员工入职必读的手册,前一段阿里发布了《Java 开发手册(泰山版)》, 又一次对Java开发规范做了完善。不过,又臭又长的手册背下来是不可能的,但集成到IDEA开发工具中就方便很多。 举个栗子:开发手册上不允许用Executors去创建线程池,而是通过ThreadPoolExecutor的方式。集成插件后会再去使用Executors去创建线程池会有如下的提示。 3、GsonFormat GsonFormat 个人觉得是一个非常非常实用的插件,它可以将JSON字符串自动转换成Java实体类。特别是在和其他系统对接时,往往以JSON格式传输数据,而我们需要用Java实体接收数据入库或者包装转发,如果字段太多一个一个编写那就太麻烦了。 快捷键:Alt+ S 4、Maven Helper Maven Helper 是解决Maven依赖冲突的利器,可以快速查找项目中的依赖冲突。安装后打开pom文件,底部有 Dependency Analyzer 视图。显示红色表示存在依赖冲突,点进去直接在包上右键Exclude排除,pom文件中会做出相应排除包的操作。 Conflicts(冲突) All Dependencies as List(列表形式查看所有依赖) All Dependencies as Tree(树结构查看所有依赖),并且这个页面还支持搜索。 5、Codota 用了Codota 后不再怕对API不会用,举个栗子:当我们用stream().filter()对List操作,可是对filter()用法不熟,按常理我们会百度一下,而用Codota 会提示很多filter()用法,节省不少查阅资料的时间。 6、Free MyBatis Plugin 在使用MyBatis 作为持久框架时有一个尴尬的问题:SQL xml文件和定义的Java接口无法相互跳转,不能像Java接口间调用那样,只能全局搜索稍显麻烦。Free MyBatis Plugin将两者之间进行关联。 7、IntelliJad IntelliJad是一个Java class文件的反编译工具,需要在 setting 中设置本地Java jad.exe工具的地址。 随便找个Jar架包选择class文件右键Decompile,会出现反编译的结果。 8、Properties to YAML Converter 将Properties 配置文件一键转换成YAML 文件,很实用的一个插件。注意:要提前备份原Properties 文件 9、Lombok Lombok 插件应该比较熟,它替我们解决了那些繁琐又重复的代码,比如Setter、Getter、toString、equals等方法。 10、CodeGlance CodeGlance 是一款代码编辑区迷你缩放图插件,可以很方便的知道我们方法大致在什么位置。 IDEA还有不少的开发小技巧,有助于我们少些代码,不知道大家有没有发现?变量后.可以联想提示,而在联想列表的最后边有很多简洁的命令。 例如: list.sout = System.out.println(list); list.var = List<User> list1 = list list.nn = list.if (list != null) ...... 装X用的 下边这些就属于装X神器了,可以根据个人的喜好来耍一下。 1、Material Theme UI 使用插件后界面图标样式都会变的很漂亮。 2、activate-power-mode 这个震动的效果看似很是酷炫,可写了十分钟代码我就快被它晃悠吐了。 3、Nyan progress bar 会让IDEA所有进度条都变得萌萌的,但我并不建议你安装因为会很卡,不知道是不是只有我这样。 4、Rainbow Brackets 彩虹颜色的括号,看着很舒服,有点赏心悦目的感觉。 整理了几百本各类技术电子书和视频课程 ,嘘~,「免费」 送给小伙伴们。微信搜【程序员内点事】回复【666】自行领取。和一些小伙伴们建了一个技术交流群,一起探讨技术、分享技术资料,旨在共同学习进步,如果感兴趣就加入我们吧!

优秀的个人博客,低调大师

那些总是写“烂代码”的同学,强烈推荐你使用这款IDEA插件!

云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 1、目标 idea集成sonar的代码检查,实现可以在提交代码前就检查你的代码,而不是将代码提交之后,之后再去检查。 Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题 不遵循代码标准 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写 潜在的缺陷 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的缺陷 糟糕的复杂度分布 文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试 重复 显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示源码中重复严重的地方 注释不足或者过多 没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷 缺乏单元测试 sonar可以很方便地统计并展示单元测试覆盖率 糟糕的设计 通过sonar可以找出循环,展示包与包、类与类之间相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。 2、前提 已经搭建了sonarqubejdk8环境(我的是jdk7,运行也没问题) 3、安装插件 设置—>Plugins中查找sonarLint插件,并安装。 安装完成后,要重启IDEA。 4、配置项目 1)配置服务器 我这里是编辑形式打开的弹窗,第一次添加时,是需要自己添加自己使用的sonar平台地址,一般是公司内部搭建的地址。 2)选择项目 上面配置好服务器的信息之后,就会获取到相应项目的信息,如下: 5、运行 【云栖号在线课堂】每天都有产品技术专家分享!课程地址:https://yqh.aliyun.com/zhibo 立即加入社群,与专家面对面,及时了解课程最新动态!【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK 原文发布时间:2020-05-14本文作者:互联网架构师 本文来自:“互联网架构师 微信公众号”,了解相关信息可以关注“互联网架构师”

优秀的个人博客,低调大师

推荐一款 IDEA 生成代码神器,写代码再也不用加班了!

云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! Easycode是idea的一个插件,可以直接对数据的表生成entity, controller, service, dao,mapper,无需任何编码,简单而强大。 1、安装(EasyCode) 我这里的话是已经那装好了。建议大家在安装一个插件,叫做Lombok。 Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。 2、建立数据库 DROP TABLE IF EXISTS \`user\`; CREATE TABLE \`user\` ( \`id\` int(11) NOT NULL, \`username\` varchar(20) DEFAULT NULL, \`sex\` varchar(6) DEFAULT NULL, \`birthday\` date DEFAULT NULL, \`address\` varchar(20) DEFAULT NULL, \`password\` varchar(20) DEFAULT NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;SET FOREIGN\_KEY\_CHECKS = 1; 3、在IDEA配置连接数据库 在这个之前,新建一个Spring Boot项目,这个应该是比较简单的。建好Spring Boot项目之后,如下图所示,找到这个Database 按照如下图所示进行操作: 然后填写数据库名字,用户名,密码。点击OK即可。这样的话,IDEA连接数据库就完事了。 4、开始生成代码 在这个里面找到你想生成的表,然后右键,就会出现如下所示的截面。 点击1所示的位置,选择你要将生成的代码放入哪个文件夹中,选择完以后点击OK即可。 这样的话就完成了代码的生成了,生成的代码如下图所示: 5、pom.xml 6、Application.yml server: port: 8089spring: datasource: url: jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=UTF-8 username: root password: 123456 type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver mybatis: mapper-locations: classpath:/mapper/*Dao.xml typeAliasesPackage: com.vue.demo.entity 7、启动项目 在启动项目之前,我们需要先修改两个地方。在dao层加上@mapper注解 【云栖号在线课堂】每天都有产品技术专家分享!课程地址:https://yqh.aliyun.com/zhibo 立即加入社群,与专家面对面,及时了解课程最新动态!【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK 原文发布时间:2020-05-12本文作者:HeloWxl 本文来自:“互联网架构师 微信公众号”,了解相关信息可以关注“互联网架构师”

优秀的个人博客,低调大师

推荐一个专注于Java后端源码分析的Github项目!

大家好,最近有小伙伴们建议我把源码分析文章及源码分析项目(带注释版)放到github上,这样小伙伴们就可以把带中文注释的源码项目下载到自己本地电脑,结合源码分析文章自己本地调试,总之对于学习开源项目源码会更方便。 因此下面提供【源码笔记】的Github地址,若您觉得不错,欢迎Star点亮哦: Github主页:https://github.com/yuanmabiji 源码分析文章:https://github.com/yuanmabiji/Java-SourceCode-BlogsSpringBoot项目(中文注释版):https://github.com/yuanmabiji/spring-boot-2.1.0.RELEASE 由于【源码笔记】今年2月初才开始写源码分析文章,因此目前源码分析文章还不是很多,计划每周持续推出一到两篇Java后端框架源码系列的文章,随着时间的积累,Java后端源码分析文章肯定会越来越多,越来越丰富哦,敬请关注。 下面是TODO LIST: 由于后面开通的公众号默认没有留言功能,若有小伙伴想一起交流讨论技术,也欢迎加本人微信哦,微信号: hardwork-persistence 最后,感谢各位小伙伴们对【源码笔记】的支持,自己也会每周持续推出高质量的大白话的源码分析文章。

优秀的个人博客,低调大师

Try-Catch无法正确定位异常位置,我推荐2个有效技巧

这个n到底是多少年?宇宙第一开发IDE Visual Studio的调试功能非常强大,平常工作debug帮助我们解决不少问题。今天分享两个异常捕获的技巧,希望能够帮助解决一些问题。 以下两种情况,我相信大家都会遇到过。 1.没有使用Try-Catch语句,当异常发生的时候,能够自动跳转到异常发生的地方,在使用Try-Catch捕获异常的时候,直接跳转到Catch语句的位置,并不会自动定位到异常代码的位置。 2.使用Try-Catch的时候,多层方法调用时,并不能直接查看到异常代码的位置。 技巧1:自动定位到异常代码位置 针对问题1,我们最想要的结果是,哪里有代码出现错误了,就直接定位到哪儿,异常出在哪行代码上,我一眼就能看得出,这样就能更快地处理问题了。 对于问题1,所出现的这种情况,简单复现一下一个空引用的异常 namespace ExceptionSample{ class Program { static void Main(string[] args) { try { Random random = null; Console.WriteLine(random.Next()); } catch (Exception ex) { Console.WriteLine(ex); } Console.ReadLine(); } }} 上面的异常代码NullReferrenceException,Debug模式下,会跳转到catch语句这里。你可能觉得这挺简单的…可实际实际工作中,你的一个方法中仅仅只这一个对象吗? 在实际工作中可能不止random一个对象,代码复杂,对象够多,几十个也有,我们就很难定位到异常出错的代码了。StackTrace可以定位到那个函数调用错了,并不能定位到哪一行代码出错了。 为了解决这个行为可以通过在Visual Studio中菜单栏中的调试》窗口》异常设置中去配置。如下图所示: 勾选上Common Language Runtime Exceptions下列的异常单选框。有点多,以前的设置有些变化。 现在我们再看之前的代码,使用Try-Catch语句捕获异常的时候,就会直接定位到异常代码的位置了,如下图示: static void Main(string[] args) { try { Random random = null; Random random1 = new Random(); Random random2 = new Random(); Random random3 = new Random(); Console.WriteLine(random1.Next()); Console.WriteLine(random2.Next()); Console.WriteLine(random3.Next()); Console.WriteLine(random.Next()); } catch (Exception ex) { Console.WriteLine(ex); } Console.ReadLine(); } 技巧2:正常的throw 姿势 还是之前的一个方法,我已经将异常设置回复默认了。 static void Main(string[] args) { try { Random random = null; Console.WriteLine(random.Next()); } catch (Exception ex) { System.Diagnostics.Debug.Write(ex); throw ex; } } 我们再输出中可以看到(ps:项目名称用的之前的,不介意哈) 错误的代码在16行。可实际工作中的情况并不是这样简单,基本上是A方法调用B方法,B方法调用C方法,代码如下所示: 在Main方法中调用ThrowNullReferrence(),方法ThrowNullReferrence中调用SetNullReferrence()。代码变复杂后,一层嵌套一层。这个时候能正确显示出代码异常的位置吗? static void Main(string[] args) { try { ThrowNullReferrence(); } catch (Exception ex) { System.Diagnostics.Debug.Write(ex); throw ex; } } public static void ThrowNullReferrence() { try { SetNullReferrence(); } catch (Exception ex) { System.Diagnostics.Debug.Write(ex); throw ex; } } public static void SetNullReferrence() { try { Random random = null; Console.WriteLine(random.Next()); } catch(Exception ex) { System.Diagnostics.Debug.Write(ex); throw ex; } } 我们可以通过下图看到: System.NullReferenceException: 未将对象引用设置到对象的实例。 在 ExceptionSample.Program.SetNullReferrence() 位置 D:\Learn\延迟加载\LinqLayzLoad\LinqLayzLoad\Program.cs:行号 39System.NullReferenceException: 未将对象引用设置到对象的实例。 在 ExceptionSample.Program.SetNullReferrence() 位置 D:\Learn\延迟加载\LinqLayzLoad\LinqLayzLoad\Program.cs:行号 44 在 ExceptionSample.Program.ThrowNullReferrence() 位置 D:\Learn\延迟加载\LinqLayzLoad\LinqLayzLoad\Program.cs:行号 27System.NullReferenceException: 未将对象引用设置到对象的实例。 在 ExceptionSample.Program.ThrowNullReferrence() 位置 D:\Learn\延迟加载\LinqLayzLoad\LinqLayzLoad\Program.cs:行号 32 在 ExceptionSample.Program.Main(String[] args) 位置 D:\Learn\延迟加载\LinqLayzLoad\LinqLayzLoad\Program.cs:行号 15错误代码的位置在39行,以上出现异常的地方都是throw的位置。原因呢?catch捕获完后,如果要向上抛出,应该重新实例化一个新的异常对象,再向上抛出,这个最外层方法catch到的才是完整的异常,当然也包括完整的堆栈信息,这样才能定位到异常代码的位置。 要使用 throw new Exception改造后的例子如图,精准定位到39行的空引用异常Console.WriteLine(random.Next()); 结语分享之前看到的一个老程序员的经验之谈:“多coding,少debug”,回到标题为什么说"使用Vistual Studio n年",这个n到底指的是多少年。我的意思是可能有些东西,即使使用多年,可能不知道这两个技巧。

优秀的个人博客,低调大师

【2019年大数据福利推荐】MaxCompute教程、案例视频合集汇总(持续更新20190121)

大数据计算服务(MaxCompute,原名ODPS,产品地址:https://www.aliyun.com/product/odps)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。 本文收录了大量的MaxCompute教程、案例视频,帮助您快速了解MaxCompute/ODPS。 目录大纲 产品最新动态: 大数据计算服务MaxCompute官方介绍 MaxCompute 2.0新功能介绍 阿里关涛谈大规模计算—面向企业的大数据平台MaxCompute MaxCompute新一代计算引擎:布局整个大数据和AI生态链 MaxCompute2.0产品最新进展 MaxCompute新上线功能特性

优秀的个人博客,低调大师

推荐 :手把手教你用Python处理非平稳时间序列(附代码)

简介 预测一个家庭未来三个月的用电量,估计特定时期道路上的交通流量,预测一只股票在纽约证券交易所交易的价格……这些问题都有什么共同点? 它们都属于时间序列数据的范畴!如果没有“时间”成分,就无法准确地预测出结果。随着我们周围世界产生的数据越来越多,时间序列预测已成为数据科学家必须掌握的一项越来越关键的技能。 然而,时间序列是一个复杂的话题,它具有多面性。 首先,要想使预测模型正常工作,就必须使时间序列保持平稳。为什么?因为绝大部分原始数据都会有非平稳的趋势。如果有很多不规则的尖峰,你怎么能确保模型正常工作呢? 本文将重点介绍时间序列数据的平稳性检验方法。在此假设读者已熟悉时间序列、ARIMA和平稳性的概念,以下是一些包含基础内容的参考资料: ●时间序列建模完整教程 ●给初学者的时间序列预测综合指南 目录 1. 平稳简介 2. 加载数据 3. 检验平稳的方法 ●ADF检验 ●KPSS检验 4. 平稳的种类 ●严格平稳 ●趋势平稳 ●差分平稳 5. 时间序列平稳化 ●差分 ●季节性差分 ●对数变换 1. 平稳简介 “平稳”是处理时间序列数据时遇到的最重要的概念之一:平稳序列是指其特性-均值、方差和协方差不随时间而变化的序列。 让我们用一个直观的例子来理解这一点。考虑以下三个图形: ●在第一幅图中,我们可以清楚地看到,均值随时间而变化(增加),呈现上升的趋势。因此,这是一个非平稳序列。平稳序列不应该呈现出随时间变化的趋势。 ●第二幅图显然看不到序列的趋势,但序列的变化是一个时间的函数。正如前面提到的,平稳序列的方差必须是一个常数。 ●再来看第三幅图,随着时间的增加,序列传播后变得更近,这意味着协方差是时间的函数。 上述三个例子均是非平稳时间序列。现在来看第四个图: 在这张图中,均值、方差和协方差都是常数,这就是平稳时间序列。 再想一想,上面的哪一幅图预测未来会更容易呢?第四个图,对吧?大多数统计模型都要求序列是平稳的,这样才能进行有效和精确的预测。 因此,总的来说,平稳时间序列是一个不依赖时间变化 (即均值、方差和协方差不随时间变化)的时间序列。在下一节中,我们将介绍各种检测给定序列是否平稳的方法。 2. 加载数据 在本节和后续几节中,将介绍检测时间序列数据的平稳性的方法,以及如何处理非平稳序列。同时,本文还提供了相应的Python代码。大家可以到:AirPassengers下载文中使用的数据集。 在继续分析数据集之前,首先加载和预处理数据。 好了,看来可以继续了! 3. 检验平稳的方法 下一步是确定给定的序列是否是平稳的,并对它做相应的处理。本节将介绍一些常见的方法,利用这些方法来检测序列是否平稳。 目视检验 看一下我们在上一节中使用的图形,仅需通过目测图形,便能够识别出序列的均值和方差是否随时间变化。同样,通过绘制数据图形,便能确定该序列的属性是否随时间而变化。 显然,通过作图,可以看到序列的趋势(变化的均值),然而,这种目视检测方法得到的结果可能不准确。最好是用一些统计检验方法来验证观测结果。 统计检验 可以利用统计检验来代替目视检验:比如单位根平稳检验。单位根表名给定序列的统计特性(均值,方差和协方差)不是时间的常数,这是平稳时间序列的先决条件。下面是它的数学解释: 假设我们有一个时间序列: 其中yt是t时刻的数据值,ε t 是误差项。需要利用yt-1的值来计算yt,即: 如果利用所有的观察值,yt 的值将是: 假设在上述方程中a的值为1(单位),则预测值将等于yt-n 和从t-n到t的所有误差之和,这意味着方差将随着时间的推移而增大,这就是时间序列中的单位根。众所周知,平稳时间序列的方差不能是时间的函数。单元根检验通过检查a=1的值来检查序列中是否存在单位根。以下是两个最常用的单位根平稳检测方法: ADF(增补迪基-福勒)检验 The Dickey Fuller test is one of the most popular statistical tests. It can be used to determine the presence of unit root in the series, and hence help us understand if the series is stationary or not. The null and alternate hypothesis of this test are: 迪基-福勒(Dickey Fuller)检验是最流行的统计检验方法之一,可以用它来确定序列中单位根的存在,从而帮助判断序列是否是平稳。这一检验的原假设与备择假设如下: 原假设:序列有一个单位根(a=1的值) 备择假设:该序列没有单位根。 如果不能拒绝原假设,则该序列是非平稳的,这意味着序列可以是线性的,也可以是差分平稳的(将在下一节中更多地了解差分平稳)。 Python代码: ADF检验结果:ADF检验的统计量为1%,p值为5%,临界值为10%,置信区间为10%。我们对本序列的检验结果如下: 平稳性检验:如果检验统计量小于临界值,我们可以拒绝原假设(也就是序列是平稳的)。当检验统计量大于临界值时,不能拒绝原假设(这意味着序列不是平稳的)。 在上面的例子中,检验统计量>临界值,这意味着序列不是平稳的。这证实了我们最初在目视检测中观察的结果。 KPSS(科瓦特科夫斯·基菲利普·斯施密特·辛)检验 KPSS检验是另一种用于检查时间序列的平稳性 (与迪基-福勒检验相比稍逊一筹) 的统计检验方法。KPSS检验的原假设与备择假设与ADF检验的原假设与备择假设相反,常造成混淆。 KPSS检验的作者将原假设定义为趋势平稳,并将备择假设定义为单位根序列。我们将在下一节详细了解趋势平稳。现在,来看一下KPSS检验的实现,并查看KPSS检验的结果。 原假设:序列是趋势平稳的。 备择假设:序列有一个单位根(序列是非平稳的)。 Python代码: KPSS检验结果:KPSS检验-检验统计量、p-值和临界值和置信区间分别为1%、2.5%、5%和10%。对于航空乘客数据集的检验结果如下: 平稳性检验:如果检验统计量大于临界值,则拒绝原假设(序列不是平稳的)。如果检验统计量小于临界值,则不能拒绝原假设(序列是平稳的)。对于航空乘客数据集来说,在所有置信区间,检验统计量的值都大于临界值,因此可以说该序列是不平稳的。 在为时间序列数据集准备模型之前,通常会同时进行两种检验。有一次,这两种检验显示出相互矛盾的结果:其中一个检验结果表明该序列是平稳的,而另一个则表明该序列是非平稳的!我困惑了好几个小时,想弄清楚这是怎么回事。后来才知道,序列的平稳性有多种类型。 综上所述,ADF检验有线性平稳或差分平稳的备择假设,而KPSS检验则是识别序列的趋势平稳。 4. 平稳的种类 通过了解不同类型的平稳,来解释上述检验的结果。 ●严格平稳: 严格平稳序列满足平稳过程的数学定义。严格平稳序列的均值、方差和协方差均不是时间的函数。我们的目标是将一个非平稳序列转化为一个严格平稳序列,然后对它进行预测。 ●趋势平稳: 没有单位根但显示出趋势的序列被称为趋势平稳序列。一旦去除趋势之后,产生的序列将是严格平稳的。在没有单位根的情况下,KPSS检测将该序列归类为平稳。这意味着序列可以是严格平稳的,也可以是趋势平稳的。 ●差分平稳: 通过差分可以使时间序列成为严格平稳的时间序列。ADF检验也称为差分平稳性检验。 应用两种检验总会更优些,通过两种检验之后,可以确定这个序列是否是平稳的。下面,来看一下应用两种平稳检验后的可能结果: ●结果1:两种检验均得出结论:序列是非平稳的->序列是非平稳的 ●结果2:两种检验均得出结论:序列是平稳的->序列是平稳的 ●结果3:KPSS =平稳;ADF =非平稳->趋势平稳,去除趋势后序列严格平稳 ●结果4:KPSS =非平稳;ADF =平稳->差分平稳,利用差分可使序列平稳。 5. 时间序列的平稳化 在熟悉了平稳性的概念及其不同的类型之后,接下来可以对序列进行平稳化操作。请记住,为了建立时间序列预测模型,必须首先将任何非平稳序列转换为平稳序列。 差分化 在该方法中,计算序列中连续项的差值。执行差分操作通常是为了消除均值的变化。从数学角度,差分可以写成: yt‘ = yt – y(t-1) 其中yt 是t时刻的数值。 对序列差分化后,绘制出结果: 季节性差分 在季节性差分中,不计算连续值之间的差异,而是计算观察值与同一季节的先前观察值之间的差异。例如,星期一的观察值将与上星期一的观察值相减。从数学角度,它可以写成: yt‘ = yt – y(t-n) 变换 变换用于对方差为非常数的序列进行平稳化。常用的变换方法包括幂变换、平方根变换和对数变换。对飞机乘客数据集进行快速对数转换和差分: 可以看出,这个图形比先前的图形有了很大的改善。通过对这个序列进行平方根或幂变换,看看是否得出了更好的结果。欢迎在下面的评论里分享你的发现! 尾注 本文介绍了检验时间序列平稳性的不同方法。但并不止步于此,下一步是对得到的序列应用一个预测模型。可以参考以下文章来构建这样的模型:给初学者的时间序列预测综合指南(Beginner’s Guide to Time Series Forecast)。 如果对本文有任何问题或反馈,可以在下面的评论部分与我联系。 还可以在Analytics Vidhya的Android应用程序上阅读这篇文章 原文发布时间为:2018-11-17本文来自云栖社区合作伙伴“ 数据分析”,了解相关信息可以关注“ 数据分析”。

优秀的个人博客,低调大师

几款开源的图形化Redis客户端管理软件推荐

Redis是一个超精简的基于内存的键值对数据库(key-value),一般对并发有一定要求的应用都用其储存session,乃至整个数据库。不过它公自带一个最小化的命令行式的数据库管理工具,有时侯使用起来并不方便。不过Github上面已经有了很多图形化的管理工具,而且都针对REDIS做了一些优化,如自动折叠带schema的key等。 Redis Desktop Manager 一款基于Qt5的跨平台Redis桌面管理软件 支持: Windows 7+, Mac OS X 10.10+, Ubuntu 14+ 特点: C++ 编写,响应迅速,性能好。但不支持数据库备份与恢复。 项目地址:https://github.com/uglide/RedisDesktopManager Redis Client 项目简介: 使用Java编写,功能丰富,缺点是性能稍差,网络不好时,会不时断线。 项目地址: https://github.com/caoxinyu/RedisClient Redis Studio 项目简介: 又一个C++编写的redis管理工具,仅支持windows平台,支持xp操作系统。 项目地址:https://github.com/cinience/RedisStudio ps: 后面两款为国人开发。 本文作者:HarLock 本文来自云栖社区合作伙伴rediscn,了解相关信息可以关注redis.cn网站。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册