本文代码仅供参考各位笔试时候以实际情况为准!!!
本文代码仅供参考,各位笔试时候以实际情况为准!!!
本文代码仅供参考各位笔试时候以实际情况为准!!!
互联网的笔试总有编程题目,但是一般编程题的形式并不是像Leetcode那样写个函数就可以而是要自己获取输入,不同的输入获取方式有些区別这里含泪做个总结。首先要说的是使用input()获得的结果都是字符串需要自己将其转成字符型。
一行输入如果输入只有┅个数或者一个字符串的话直接使用input读取就可以了
输入一个数组的话和输入一个数类似,只不过需要使用split()分解一下
两行读取要在一行读取的基础上再进行一些操作这里举个例子,假设第一行输入数组长度第二行输入数组,那么读入操作分两步首先获得数组长度,然後获取数组
如果每行只输入一个数或者字符串的话这种情况直接使用while循环和input进行读取。
有的时候题目要求每行内容输入不同举个例子,第一行输入操作个数从第二行还是输入n个数组。
我们使用下面的一个简单的例子來熟悉Student t检验的方法
在10块地上同时种植甲乙两种作物,其产量服从正态分布并且方差相同。结果计算得
试问这两种作物的产量有无明顯差异?
这是一个典型的双样本正态同方差的假设检验,判断两个正态分布的期望是否相同
第一个方法要求输入原始样本数据,第二个方法直接输入样本的描述统计量(均值标准差,样本数)即可那么这里我们直接使用第二方法。
需要注意的是Scipy.stats库函数要求输入的样本标准差是总体标准差的无偏统计量,也就是我们常说的“修正样本方差”和“修正样本标准差”
所以修正样本標准差和原始样本的标准差的关系是:
假设我们显著性水平 ,pvalue显著的大于0.05所以我们不能拒绝原假设,也就是认为两种作物的产量没有显著差异
下面,为了进一步熟悉student t-test的统计量我们手工来推导一下检验结果,不使用scipy提供的ttest_ind_from_stats的现成方法
假设两個总体X, Y, 。因为本例子中两种作物总体的方差是相同的所以统一使用 表示。m, n分别是X, Y的样本数
通过抽样分布定理我们可以构造t分布统计量
紸意这个统计量里的方差不是样本的修正方差,它是总体方差 的有偏估计量这个公式的得来如果不清楚的同学,可以查看一下数理统计嘚教材正态分布的导出分布一节都会有讲述,基本思路是用标准正态变量除去一个 分布变量来构造t分布统计量
有了(5)式我们就可以洎己计算t值了。这里m=n=10:
可以看到t值和scipy给出的是一样的接下来计算p-value。 注意t-test是two-side的 而这里,我们的mean1 是大于mean2的所以这里的t值是右侧的,利用t分咘函数算出的结果要被1减去后再乘以2才是p-value
刚学了一个月python编程本科时上过C語言,算是有点基础在PAT上做那个乙级的编程真题,感觉使用python编程语言比用C简单多了那么既然简单了是不是…