T检验、F检验和统计学意义(P值或sig值)

1.T检验和F检验的由来

一般而言,为了确定从样本(sample)统计结果推论至总体时所犯错的概率,我们会利用统计学家所开发的一些统计方法,进行统计检定。

通过把所得到的统计检定值,与统计学家建立了一些随机变量的概率分布(probability distribution)进行比较,我们可以知道在多少%的机会下会得到目前的结果。倘若经比较后发现,出现这结果的机率很少,亦即是说,是在机会很少、很罕有的情况下才出现;那我们便可以有信心的说,这不是巧合,是具有统计学上的意义的(用统计学的话讲,就是能够拒绝虚无假设null hypothesis,Ho)。相反,若比较后发现,出现的机率很高,并不罕见;那我们便不能很有信心的直指这不是巧合,也许是巧合,也许不是,但我们没能确定。

F值和t值就是这些统计检定值,与它们相对应的概率分布,就是F分布和t分布。统计显著性(sig)就是出现目前样本这结果的机率。

2. 统计学意义(P值或sig值)

结果的统计学意义是结果真实程度(能够代表总体)的一种估计方法。专业上,p值为结果可信程度的一个递减指标,p值越大,我们越不能认为样本中变量的关联是总体中各变量关联的可靠指标。p值是将观察结果认为有效即具有总体代表性的犯错概率。如p=0.05提示样本中变量关联有5%的可能是由于偶然性造成的。即假设总体中任意变量间均无关联,我们重复类似实验,会发现约20个实验中有一个实验,我们所研究的变量关联将等于或强于我们的实验结果。(这并不是说如果变量间存在关联,我们可得到5%或95%次数的相同结果,当总体中的变量存在关联,重复研究和发现关联的可能性与设计的统计学效力有关。)在许多研究领域,0.05的p值通常被认为是可接受错误的边界水平。

3. T检验和F检验

至於具体要检定的内容,须看你是在做哪一个统计程序。

举一个例子,比如,你要检验两独立样本均数差异是否能推论至总体,而行的t检验。
两样本(如某班男生和女生)某变量(如身高)的均数并不相同,但这差别是否能推论至总体,代表总体的情况也是存在著差异呢?
会不会总体中男女生根本没有差别,只不过是你那麼巧抽到这2样本的数值不同?
为此,我们进行t检定,算出一个t检定值。
与统计学家建立的以「总体中没差别」作基础的随机变量t分布进行比较,看看在多少%的机会(亦即显著性sig值)下会得到目前的结果。
若显著性sig值很少,比如<0.05(少於5%机率),亦即是说,「如果」总体「真的」没有差别,那麼就只有在机会很少(5%)、很罕有的情况下,才会出现目前这样本的情况。虽然还是有5%机会出错(1-0.05=5%),但我们还是可以「比较有信心」的说:目前样本中这情况(男女生出现差异的情况)不是巧合,是具统计学意义的,「总体中男女生不存差异」的虚无假设应予拒绝,简言之,总体应该存在著差异。

每一种统计方法的检定的内容都不相同,同样是t-检定,可能是上述的检定总体中是否存在差异,也同能是检定总体中的单一值是否等於0或者等於某一个数值。

至於F-检定,方差分析(或译变异数分析,Analysis of Variance),它的原理大致也是上面说的,但它是透过检视变量的方差而进行的。它主要用于:均数差别的显著性检验、分离各有关因素并估计其对总变异的作用、分析因素间的交互作用、方差齐性(Equality of Variances)检验等情况。

4. T检验和F检验的关系

t检验过程,是对两样本均数(mean)差别的显著性进行检验。惟t检验须知道两个总体的方差(Variances)是否相等;t检验值的计算会因方差是否相等而有所不同。也就是说,t检验须视乎方差齐性(Equality of Variances)结果。所以,SPSS在进行t-test for Equality of Means的同时,也要做Levene’s Test for Equality of Variances 。

4.1
在Levene’s Test for Equality of Variances一栏中 F值为2.36, Sig.为.128,表示方差齐性检验「没有显著差异」,即两方差齐(Equal Variances),故下面t检验的结果表中要看第一排的数据,亦即方差齐的情况下的t检验的结果。

4.2.
在t-test for Equality of Means中,第一排(Variances=Equal)的情况:t=8.892, df=84, 2-Tail Sig=.000, Mean Difference=22.99
既然Sig=.000,亦即,两样本均数差别有显著性意义!

4.3
到底看哪个Levene’s Test for Equality of Variances一栏中sig,还是看t-test for Equality of Means中那个Sig. (2-tailed)啊?
答案是:两个都要看。
先看Levene’s Test for Equality of Variances,如果方差齐性检验「没有显著差异」,即两方差齐(Equal Variances),故接著的t检验的结果表中要看第一排的数据,亦即方差齐的情况下的t检验的结果。
反之,如果方差齐性检验「有显著差异」,即两方差不齐(Unequal Variances),故接著的t检验的结果表中要看第二排的数据,亦即方差不齐的情况下的t检验的结果。

4.4
你做的是T检验,为什么会有F值呢?
就是因为要评估两个总体的方差(Variances)是否相等,要做Levene’s Test for Equality of Variances,要检验方差,故所以就有F值。

另一种解释:

t检验有单样本t检验,配对t检验和两样本t检验。

单样本t检验:是用样本均数代表的未知总体均数和已知总体均数进行比较,来观察此组样本与总体的差异性。

配对t检验:是采用配对设计方法观察以下几种情形,1,两个同质受试对象分别接受两种不同的处理;2,同一受试对象接受两种不同的处理;3,同一受试对象处理前后。

F检验又叫方差齐性检验。在两样本t检验中要用到F检验。

从两研究总体中随机抽取样本,要对这两个样本进行比较的时候,首先要判断两总体方差是否相同,即方差齐性。若两总体方差相等,则直接用t检验,若不等,可采用t’检验或变量变换或秩和检验等方法。

其中要判断两总体方差是否相等,就可以用F检验。

若是单组设计,必须给出一个标准值或总体均值,同时,提供一组定量的观测结果,应用t检验的前提条件就是该组资料必须服从正态分布;若是配对设计,每对数据的差值必须服从正态分布;若是成组设计,个体之间相互独立,两组资料均取自正态分布的总体,并满足方差齐性。之所以需要这些前提条件,是因为必须在这样的前提下所计算出的t统计量才服从t分布,而t检验正是以t分布作为其理论依据的检验方法。

简单来说就是实用T检验是有条件的,其中之一就是要符合方差齐次性,这点需要F检验来验证。
via http://blog.znsun.com/2008/04/653/t-test-and-f-test-and-p-or-sig-value

what_methods

如果你不知道什麼時候要用卡分檢定、T-test、Anova或Regression,但每一項的計算和原理你都清楚,那請你接著往下看,希望本文對你有幫助。

首先要談的是T-test。T檢定主要是檢驗兩組之間是否有差異(當然也有one sample t-test,不過較少使用),所以條件是有兩組只能有兩組。組別是類別變數(categorical variable),像是性別、種族、國籍。如果是連續變數,也可以設一個標準,多少以上是好的,以下是差的,以此來產生類別變數。如果超過兩組,必須用Anova來分析。另外,常犯的錯就是把前、後測是否有顯著差異用two-sample t-test來檢定,不能「假裝」把前測當一組,後測當一組,拿來做two-sample T檢定,而是應該用paired-sample t-test來檢驗是否有差異。

One-way Anova(單因子變異數分析)是只有一個類別變數當作independent variable,檢驗此類別變數與其它連續變數(continuous variable)和結果的關係。比方說如果你想看性別、IQ對數學成績的影響,性別就是類別變數,IQ是連續變數,數學成績是結果變數(outcome variable)。

Two-way Anova(雙因子變異數分析)是有兩個以上的類別變數作為independent variables。比如說性別、種族與IQ對數學成績的影響,性別和種族就是類別變數。

問題來了,什麼時候用Anova,什麼時候用Regression呢?這兩者有何不同?其實Anova就是(Linear) Regression不同點就在Anova裡面有類別變數而已。如果你跑ANOVA跟regression(當然跑regression會要用dummy variable),你會得到一樣的結果。換言之,Linear regression裡的變數均為連續變數或dummy variable,如:年齡、IQ、成績、體重等,沒有類別變數。如果想知道更多關於regression,可參考這篇:什麼是線性迴歸?(What is Multiple Linear Regression?) 。只要懂了這個,我覺得初、中級的統計,初、中級統計就沒什麼問題了。

最後說說卡方檢定(Chi-square)。先想想卡方檢定測的是什麼?對,是比例。那你可能會有問題,T-test與Anova比的是什麼呢?當然不是比例,而是平均的差異。卡方測的是一件事情,在各組發生的比例是否相同。在繼續說之前,要先記得,卡方檢定的變數不是連續變數,也不是ordinal variable,而是名目變數(nominal variables,又稱為categorical variable),也就是「是與否」、「男與女」這種變數。所以常見的問題就是:男女和素食行為,或是男女與是否有大學學歷等。

如果你已經弄糊塗了,可以參看下表
what_methods_1.png

what_methods_2.jpg
what_methods_3.jpg

最後要說一點,我不是統計系的,寫這個也只是說出自己的理解而已。如果有不對的地方,還歡迎網友指正。

2009/4/17 補充:
如果上面的分析還不夠清楚,你想要看「用哪種統計分析方式好」終極版(英文),請到這個網頁參考:http://www.ats.ucla.edu/stat/mult_pkg/whatstat/default.htm
2011/11/18修正:原本寫的是

「另外,常犯的錯就是把前、後測是否有顯著差異用T-test來檢定。即使有兩組,前、後測也不是用T-test來檢定的,更別說有人「假裝」把前測當一組,後測當一組,拿來做T檢定。」

這並不準確,現已修正為:

「另外,常犯的錯就是把前、後測是否有顯著差異用two-sample t-test來檢定,不能「假裝」把前測當一組,後測當一組,拿來做two-sample T檢定,而是應該用paired-sample t-test來檢驗是否有差異。」

23rd Nov

很扯。白给人家,都不肯收。
差了两天。
5月20。校庆108大寿。看来分享不了great meaning了失望

Red Day

Red Artifact?
Red Brochure?
Red Cross?
Red Denoting?
Red Erythrocyte?
 
It was a dream in my heart a long long time ago.
Being realised now didn’t take the divine feeling to me, only a little pain left.
oh no,and a little red certificate for your output blood. an army knife,a Red-Cross cup as souvenirs. 
A barter completed.
 
Write down for my 300ml blood in vitro.
2009/11/23

JNDI (Tomcat6)

JNDI : Java Naming and Directory Interface (JNDI)
tomcat 安装目录下的conf的context.xml (作用范围为所有应用)
的 <Context></Context>中添加代码如下:
<Resource  name="jdbc/test"
            auth
="Container"
            type
="javax.sql.DataSource"
            maxActive
="20"
            maxIdel
="10"
            maxWait
="1000"
            username
="root"
            password
="root"
            driverClassName
="com.mysql.jdbc.Driver"        
            url="jdbc:mysql://localhost:8081/tango"  >
    
      
</Resource> 

tom猫猫的纠缠

纠缠了两天的错误:
java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/CategorizedProblem;
 at org.apache.jasper.compiler.JDTCompiler$2.acceptResult(JDTCompiler.java:354)
 at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:335)
 at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:425)
 at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
 at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
 at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
 at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
 at com.zjft.zjconsole.common.Log4jNdcFilter.doFilter(Log4jNdcFilter.java:56)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
 at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:77)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
 at org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:151)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
 at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)

Tomcat6 在CATALINA_BASE环境变量指定的目录下找conf目录并加载配置,如果没有指定该环境变量,则在CATALINA_HOME指定的目录下找conf目录并加载配置,其中catalina.properties:配置Tomcat的类加载器(各种jar包)
org.apache.catalina.core. StandardServer类是Tomcat6唯一的服务器(Server)接口实现类,实现了Server接口,同时实现Lifecycle接口(管理服务器生命周期,如启动停止等)MBeanRegistration接口(将server注册到MBean服务器以便猫猫跑起来后用jmx来管理服务器)。一个服务器由许多服务组成services[],一个服务service是包含一个或多个连接器Connector[]组件,用来响应用户请求;所有Connector都属于一个引擎Engine或Container(处理请求),如Catalina引擎其实就是从连接器接受用户Servlet请求,并将处理后的结果返给连接器,继而Connector响应客户端。Engine也是一种容器。
Tomcat中有两种连接器——Coyote(实现http 1.1协议,当端口为80时可省去)JK连接器(负责处理来自第三方Web服务器的请求,如针对Apache Httpd web服务器,它实现了AJP协议),org.apache.catalina.connector.Connector类实现了Coyote连接器。
容器主机(Host)、上下文(Context)和引擎(Engine)均继承自Container接口,故从组件的角度,Tomcat中至少有7个关键组件,它们Server组件、Service组件、Container组件、Connector组件及继承自Container组件的Host组件、Engine组件和Container组件。
 
从功能来看,Tomcat可以分成5个子模块:
Connector子模块:接收用户请求并包装成标准的http请求(包含协议名/head/请求方法等),同时按http规范给客户端发送响应页面(如http 404错误等)
Jsper子模块:解析jsp页面、验证jsp属性、动态转换jsp为java文件并编译成class文件
Servlet子模块:javax.servlet包及其子包,如javax.servlet.Servlet接口、javax.servet.http.HttpServlet类及javax.servlet.jsp.HttpJspPage
Catalina子模块:实现Web服务器,定义了ServerServiceHostConnectorContextSessionCluster等关键组件及这些组件的实现,
Resource子模块:Server.xmlWeb.xml配置文件。Tomcat编译时必须的(很多web应用都是靠这些xml配置文件进行初始化,由于其属性的无限性)。
 
对用户来说,Tomcat6 较v5更灵活易用,如context.xml 与server.xml的分离(动态重加载资源的区别,Tomcat 定时扫描context,而server类由于牵涉到连接的相关属性需重启Tomcat 才可生效)。
 
了解大概后,现在看看这个抓狂错误原因(在IDE中启)——
jar 包混乱导致所需类被冒名顶替;
tomcat 版本和jdk 版本冲突;
环境变量Catalina_Home和path的配置;
连接端口最好不用8080,换为其他;
 
我先把应用放在tomcat 自身的webapps文件夹下,启动startup.bat ,报数据库错误,但不影响页面浏览
再在IDE 中启动,不知怎么搞的就好了,不是因为jdk 版本和tomcat版本的改变(我试了所有的组合都正常了,包括之前报错的组合)
对于网上很多该类问题都没确定的解决方案,大概是因为大伙的猫猫都是神不知鬼不觉的正常了吧,这问题有点搞笑。
 

neatbeans乱码问题终于搞定

[vista下](已经测试成功)
代码乱码解决:
中文版,执行如下操作:工具->选项->字体和颜色->配置文件->earth->确定
(未测)英文版,或者在命令行下以 "C:SoftNetBeans 6.5binnetbeans.exe" –locale en:US 命令启动NetBeans
执行如下操作:Tools->Options->Fonts & Color->Profile->earth->OK
 
窗口显示乱码解决:

找到Netbean安装目录下的etcnetbeans.conf文件,先把文件改为netbeans.conf.txt(修改后再改为netbeans.conf)

更改启动参数为:

netbeans_default_options="-J-client -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Dapple.laf.useScreenMenuBar=true -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled –fontsize 12"

就是添加了–fontsize,大小根据自己的喜好和显示器来选择(如12)。保存,重启Netbean即可。

 

[linux下]还未安装,先找经验记下再说正在思考

在一般默认的情况下,在linux下安装netbeans中文版,你会看到好多小方框。

解决方法如下:
在/user/share/fonts目录下找到gbsn00lp.ttf,把它拷到javahome/jre/lib/fonts/fallback下面。一般,jre里没有fallback目录,你需要建一个。然后再打开netbeans等同样用java环境的软件,界面方块问题就不会再有了。
注意:这是网上的说法,我用的是ubuntu7.04, 并没有这个字体文件。
我的方法是:把/usr/share/fonts/truetype/arphic/ 文件夹下的字体拷贝到 JAVA_HOME/jre/lib/fonts/fallback下面即可.

增加支持库联接
cd /usr/bin
ln -sf /opt/jdk1.6.0/bin/javac
ln -sf /opt/jdk1.6.0/jre/bin/java

修改.bashrc
export JAVA_HOME=/opt/jdk1.6.0
export JAVA_BIN=/opt/jdk1.6.0/bin
export PATH=$PATH; $JAVA_HOME/bin
export CLASSPATH=.; $JAVA_HOME/lib/dt.jar; $JAVA_HOME/lib/tools.jar

其中有一点比较搞人,有些时候运行程序,或者打开终端控制台会出现
bash: /opt/jdk1.6.0/lib/dt.jar: cannot execute binary file等字样
那是因为classpath大配置里边分隔符号错误,不是分号是冒号,请尽快改正吧

ide界面乱码,执行命令
ln -sf /usr/share/fonts/simsun.ttc /opt/jdk1.6.0/jre/lib/fonts/fallback
fallback是新建的文件夹
simsun.ttc是任意个中文字体文件
或者
ln -sf /usr/share/fonts /opt/jdk1.6.0/jre/lib/fonts/fallback
fallback是fonts的联接

另外,在NB中 tools -> option -> advance -> Editor -> Java Source -> Encoding : UTF-8
在你的项目properties中 Run and compile项目中输入 -encoding UTF-8

NB的代码录入界面默认的是使用系统代码页,改成UTF-8的话,不论移植到哪种平台都不用担心了。

 

 

ps下:加加输入法中文标点输入下“[]”会显示为“()”,没搜狗好用,不过主推智能+兼容vista系统。皮肤做得很简单,也支持网友创作。搜狗有的太花哨了。好的产品维护时间也就越长,同sns网一样,谁笑到最后笑得最好。

BlueAsteroid

Just another WordPress.com site

Jing's Blog

Just another WordPress.com site

Start from here......

我的心情魔方

天才遠私廚

希望能做一個分享各種資訊的好地方

语义噪声

西瓜大丸子汤的博客

笑对人生,傲立寰宇

Just another WordPress.com site

Where On Earth Is Waldo?

A Project By Melanie Coles

the Serious Computer Vision Blog

A blog about computer vision and serious stuff

Cauthy's Blog

paper review...

Cornell Computer Vision Seminar Blog

Blog for CS 7670 - Special Topics in Computer Vision

datarazzi

Life through nerd-colored glasses

Luciana Haill

Brainwaves Augmenting Consciousness

槑烎

1,2,∞

Dr Paul Tennent

and the university of nottingham

turn off the lights, please

A bunch of random, thinned and stateless thoughts around the Web

John's Weblog

Just another WordPress.com weblog

I Am That I Am

Chasing tomorrow's sunrise.