什么是组内离差 个体效应

方差分析:组间离差平方和组内离差平方的定义是什么?

(引自:http://wenda.tianya.cn/wenda/thread?tid=2dc1e52bf92afc83)

1. 方差分析的概念

方差分析(ANOVA)又称变异数分析或F检验,其目的是推断两组或多组资料的总体均数是否相同,检验两个或多个样本均数的差异是否有统计学意义。我们要学习的主要内容包括单因素方差分析即完全随机设计或成组设计的方差分析和两因素方差分析即配伍组设计的方差分析。

2. 方差分析的基本思想

下面我们用一个简单的例子来说明方差分析的基本思想:

如某克山病区测得11例克山病患者和13名健康人的血磷值(mmol/L)如下,

患者:0.84 1.05 1.20 1.20 1.39 1.53 1.67 1.80 1.87 2.07 2.11

健康人:0.54 0.64 0.64 0.75 0.76 0.81 1.16 1.20 1.34 1.35 1.48 1.56 1.87

问该地克山病患者与健康人的血磷值是否不同?

从以上资料可以看出,24个患者与健康人的血磷值各不相同,如果用离均差平方和(SS)描述其围绕总均数的变异情况,则总变异有以下两个来源:

(1)组内变异,即由于随机误差的原因使得各组内部的血磷值各不相等;

(2)组间变异,即由于克山病的影响使得患者与健康人组的血磷值均数大小不等。

而且:SS总=SS组间+SS组内 v总=v组间+v组内

如果用均方(即自由度v去除离均差平方和的商)代替离均差平方和以消除各组样本数不同的影响,则方差分析就是用组内均方去除组间均方的商(即F值)与1相比较,若F值接近1,则说明各组均数间的差异没有统计学意义,若F值远大于1,则说明各组均数间的差异有统计学意义。实际应用中检验假设成立条件下F值大于特定值的概率可通过查阅F界值表(方差分析用)获得。

3. 方差分析的应用条件

应用方差分析对资料进行统计推断之前应注意其使用条件,包括:

(1)可比性,若资料中各组均数本身不具可比性则不适用方差分析。

(2)正态性,即偏态分布资料不适用方差分析。对偏态分布的资料应考虑用对数变换、平方根变换、倒数变换、平方根反正弦变换等变量变换方法变为正态或接近正态后再进行方差分析。

(3)方差齐性,即若组间方差不齐则不适用方差分析。多个方差的齐性检验可用Bartlett法,它用卡方值作为检验统计量,结果判断需查阅卡方界值表。

二、方差分析的主要内容
根据资料设计类型的不同,有以下两种方差分析的方法:

1. 对成组设计的多个样本均数比较,应采用完全随机设计的方差分析,即单因素方差分析。

2. 对随机区组设计的多个样本均数比较,应采用配伍组设计的方差分析,即两因素方差分析。

两类方差分析的基本步骤相同,只是变异的分解方式不同,对成组设计的资料,总变异分解为组内变异和组间变异(随机误差),即:SS总=SS组间+SS组内,而对配伍组设计的资料,总变异除了分解为处理组变异和随机误差外还包括配伍组变异,即:SS总=SS处理+SS配伍+SS误差。整个方差分析的基本步骤如下:

(1) 建立检验假设;

H0:多个样本总体均数相等。

H1:多个样本总体均数不相等或不全等。

检验水准为0.05。

(2) 计算检验统计量F值;

(3) 确定P值并作出推断结果。

三、多个样本均数的两两比较
经过方差分析若拒绝了检验假设,只能说明多个样本总体均数不相等或不全相等。若要得到各组均数间更详细的信息,应在方差分析的基础上进行多个样本均数的两两比较。

1. 多个样本均数间两两比较

多个样本均数间两两比较常用q检验的方法,即 Newman-kueuls法,其基本步骤为:

建立检验假设–>样本均数排序–>计算q值–>查q界值表判断结果。

2. 多个实验组与一个对照组均数间两两比较

多个实验组与一个对照组均数间两两比较,若目的是减小第II类错误,最好选用最小显著差法(LSD法);若目的是减小第I类错误,最好选用新复极差法,前者查t界值表,后者查q’界值表。

matlab里的插值函数

>> help fillmissing
fillmissing Fill missing entries
First argument must be numeric, datetime, duration, calendarDuration,
string, categorical, character array, cell array of character vectors,
a table, or a timetable.
Standard missing data is defined as:
NaN – for double and single floating-point arrays
NaN – for duration and calendarDuration arrays
NaT – for datetime arrays
<missing> – for string arrays
<undefined> – for categorical arrays
blank character [‘ ‘] – for character arrays
empty character {”} – for cell arrays of character vectors

B = fillmissing(A,’constant’,C) fills missing entries in A with the
constant scalar value C. You can also use a vector C to specify
different fill constants for each column (or table variable) in A: C(i)
represents the fill constant used for the i-th column of A. For tables
A, C can also be a cell containing fill constants of different types.

B = fillmissing(A,INTERP) fills standard missing entries using the
interpolation method specified by INTERP, which must be:
‘previous’ – Previous non-missing entry.
‘next’ – Next non-missing entry.
‘nearest’ – Nearest non-missing entry.
‘linear’ – Linear interpolation of non-missing entries.
‘spline’ – Piecewise cubic spline interpolation.
‘pchip’ – Shape-preserving piecewise cubic spline interpolation.

B = fillmissing(A,MOV,K) fills standard missing entries using a
centered moving window formed from neighboring non-missing entries.
K specifies the window length and must be a positive integer scalar.
MOV specifies the moving window method, which must be:
‘movmean’ – Moving average of neighboring non-missing entries.
‘movmedian’ – Moving median of neighboring non-missing entries.

B = fillmissing(A,MOV,[NB NF]) uses a moving window defined by the
previous NB elements, the current element, and the next NF elements.

Optional arguments:

B = fillmissing(A,METHOD,…,’EndValues’,E) also specifies how to
extrapolate leading and trailing missing values. E must be:
‘extrap’ – (default) Use METHOD to also extrapolate missing data.
‘previous’ – Previous non-missing entry.
‘next’ – Next non-missing entry.
‘nearest’ – Nearest non-missing entry.
‘none’ – No extrapolation of missing values.
VALUE – Use an extrapolation constant. VALUE must be a scalar
or a vector of type numeric, duration, or datetime.

B = fillmissing(A,METHOD,…,’SamplePoints’,X) also specifies the
sample points X used by the fill method. X must be a floating-point,
duration, or datetime vector. X must be sorted. X must contain unique
points. You can use X to specify time stamps for the data. By default,
fillmissing uses data sampled uniformly at points X = [1 2 3 … ].

B = fillmissing(A,METHOD,DIM,…) also specifies a dimension DIM to
operate along. A must be an array.

[B,FA] = fillmissing(A,…) also returns a logical array FA indicating
the missing entries of A that were filled. FA has the same size as A.

Arguments supported only for table inputs:

B = fillmissing(A,…,’DataVariables’,DV) fills missing data only in
the table variables specified by DV. The default is all table variables
in A. DV must be a table variable name, a cell array of table variable
names, a vector of table variable indices, a logical vector, or a
function handle that returns a logical scalar (such as @isnumeric).
Output table B has the same size as input table A.

Examples:

% Linear interpolation of NaN entries
a = [NaN 1 2 NaN 4 NaN]
b = fillmissing(a,’linear’)

% Fill leading and trailing NaN entries with their nearest neighbors
a = [NaN 1 2 NaN 4 NaN]
b = fillmissing(a,’linear’,’EndValues’,’nearest’)

% Fill NaN entries with their previous neighbors (zero-order-hold)
A = [1000 1 -10; NaN 1 NaN; NaN 1 NaN; -1 77 5; NaN(1,3)]
B = fillmissing(A,’previous’)

% Fill NaN entries with the mean of each column
A = [NaN(1,3); 13 1 -20; NaN(4,1) (1:4)’ NaN(4,1); -1 7 -10; NaN(1,3)]
C = mean(A,’omitnan’);
B = fillmissing(A,’constant’,C)

% Linear interpolation of NaN entries for non-uniformly spaced data
x = [linspace(-3,1,120) linspace(1.1,7,30)];
a = exp(-0.1*x).*sin(2*x); a(a > -0.2 & a < 0.2) = NaN;
[b,id] = fillmissing(a,’linear’,’SamplePoints’,x);
plot(x,a,’.’, x(id),b(id),’o’)
title(”’linear” fill’)
xlabel(‘Sample points x’);
legend(‘original data’,’filled missing data’)

% Fill missing entries in tables with their previous neighbors
temperature = [21.1 21.5 NaN 23.1 25.7 24.1 25.3 NaN 24.1 25.5]’;
windSpeed = [12.9 13.3 12.1 13.5 10.9 NaN NaN 12.2 10.8 17.1]’;
windDirection = categorical({‘W’ ‘SW’ ‘SW’ ” ‘SW’ ‘S’ …
‘S’ ‘SW’ ‘SW’ ‘SW’})’;
conditions = {‘PTCLDY’ ” ” ‘PTCLDY’ ‘FAIR’ ‘CLEAR’ …
‘CLEAR’ ‘FAIR’ ‘PTCLDY’ ‘MOSUNNY’}’;
T = table(temperature,windSpeed,windDirection,conditions)
U = fillmissing(T,’previous’)

See also ismissing, standardizeMissing, rmmissing, isnan, isnat
filloutliers, smoothdata

Reference page for fillmissing
Other functions named fillmissing

一个加拿大拿了终生教授的女老师,每天只2点到6点睡4个小时,每天10杯咖啡

一个加拿大拿了终生教授的女老师,每天只2点到6点睡4个小时,每天10杯咖啡,基本不喝水全喝咖啡。

昨天溜溜3点睡,7点起的,也是4个小时。就是过了12点效率就不高了。以后改成1点睡5点起、或者12点睡,4点起可好?

最好是12点睡,4点起,因为1点其实不容易睡着的。

 

论deadline的重要性

论deadline的重要性

如果不是deadline,我也不会通过简便方法计算空间权重矩阵,按原方法要数倍的时间。

如果不是deadline,我也不会只用Bank Focus的数据,其实总资产不需要数据那么全。一个银行有2年就可以了。如果按原方法,起码要数倍于现在方法的时间才能完成。

Deadline是如此重要,因为它可以很快检验你方法的可行性,强迫你放弃一些时间不经济也不重要的方法,及时走向最正确的路。

所以不要对deadline有恐慌情绪。拥抱它,想想一定有更快速做完的折衷办法,赶紧搞定!

 

PS:现在的思路是,其实Bank Focus和Bank Scope数据缺失是很多的。但是如果仅仅作为控制变量,影响不太大,基本能达到控制变量的效果。

所以时间少则思变,思路是,以Wind数据作为主要变量(NPL),因为主要变量需要数据特别全。以Bank Focus数据为控制变量,数据不需要全,一个银行有个2年就可以了。Bank Focus没有的再去找Bank Scope做补充。快速成型,快速跑出结果。

最近的思路:银行的数量还得砍。这代表一个从Wind的数据与Bank Focus数据的拼接过程必然的数据损耗。能够剩下的数据,是两个数据库都有录入的数据,这才是能够用的数据!