第一个问题:为什么要做季节调整?
一般来说,一个经济指标中往往包含有四个变动要素,长期要素、循环要素、季节要素和其他一些不规则的要素。在经济分析中,往往趋势和循环要素才能真实的反映经济指标的运行的客观规律,季节变动要素比如吃冰棍的夏季往往比冬季多得多,这就会掩盖掉经济变量发展的客观规律,因此在分析之前,需要对变量做季节调整,剔除它。
记住只有季度和月度的数据才需要调整
采用什么方法来剔除呢?目前比较常用的有4种方法,CensusX12、X11、移动平均方法和Tramo/Seats方法。比较常用的是CensusX12方法,如何来做, *** 作上再说,很简单。
那季节调整有什么样的缺点呢?说白了,季节调整后的数据,不论总量和增长速度均与实际数值存在很大的差距,数据反映出的很可能不是指标在核算期的实际经济含义。
第二个问题:为什么要做对数化处理?
因为大部分经济指标数据都是呈现偏态分布的,比如收入或者国民生产总值,而且这些指标大都呈现右偏,取对数可以将大于中位数的值按照比例进行缩小,从而让数据服从正态分布,而正态分布也符合计量模型中的很多假设,对于解决异方差问题有很大的帮助。
第三个问题:为什么要差分?
从研究的目标上来讲,对数化处理后再差分,体现的是该经济指标的对数收益率。对研究增长率相关的问题很重要。
从统计学角度来讲,差分是非平稳序列变成平稳序列常用的方法,只有平稳性的时间序列才能避免“伪回归”的存在,才有经济意义。
这个讲得麻烦,其实只是求循环顺序为9 的倍数的位置 。剩余的就是地球人的位置。
代码待会儿试着写个看看。
被扔出的位置已经算出来了。
第1轮抛出:位置:09
第2轮抛出:位置:18
第3轮抛出:位置:27
第4轮抛出:位置:06
第5轮抛出:位置:16
第6轮抛出:位置:26
第7轮抛出:位置:07
第8轮抛出:位置:19
第9轮抛出:位置:30
第10轮抛出:位置:12
第11轮抛出:位置:24
第12轮抛出:位置:08
第13轮抛出:位置:22
第14轮抛出:位置:05
第15轮抛出:位置:23
整下整个的代码。
import java.util.ArrayListimport java.util.List
public class CirclePlus {
private List<String>seats = new ArrayList<String>()
//初始化
public CirclePlus(){
if(seats.size()>=0){
for(int i=0i<30i++){
seats.add("位置:"+((i+1)>=10?(i+1):"0"+(i+1)))
}
}
}
//踢人方法
public void Kick(int num){
//记录当前被踢人的座位
int tempseat = 0
//当前要踢的座位
int nowseat = 0
//记录当前是第几轮
int loop = 1
//当是15轮时退出
while(loop<=15){
//要踢的人的座位号是上次被踢的座位号+num,-1是因为LIST的编号比真实座位号小1
nowseat = tempseat+num-1
// System.out.println("nowseat=="+nowseat+"\ntempseat=="+tempseat+"\nloop=="+loop)
//如果要踢的超出当前人数范围,则从第一个人开始重新算起(减掉当前人数)
if(nowseat>=seats.size()){
//为符合上面踢人座位号(nowseat)计算,除去减掉当前人数(seats.size())外,要加回修正值(上面减掉的1),
//以保证 要踢人的座位号(nowseat) 是正确的
tempseat=nowseat-seats.size()-num+1
}else{
//踢人
System.out.println("第"+loop+"轮抛出:"+seats.remove(nowseat))
//保存当前被踢的座位号
tempseat = nowseat
//轮次增加
loop++
}
}
System.out.println("踢人后剩余的安全座位号:")
for(String string: seats){
System.out.println(string)
}
}
public static void main(String[] args) {
CirclePlus cp = new CirclePlus()
cp.Kick(9)
}
}
OK了,换成while循环才弄好。。用for循环直接算座位号误差太大了,还是一个个算。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)