Class Comparison: 比較不同Class的類別, 屬性

Class Discovery: 從一群Data中去歸類, 相似性

Class Prediction: 有新的data, 能不能用來歸類於現有的Class


Class Comparison

找出顯著差異的.

不考慮基因與基因的Interactions.

用FoldChange(FC) = Expression of Experriment al Sample / Expresssion of Reference Sample

可用Scatter plots 及 MA-plots Visualized, 但Fold-Change沒辦法找出顯著差異, 不具有統計意義,但還是很多人喜歡使用, why? 因為統計上需要大量的SAMPLE, 而一般實驗沒有那麼多的sample, 只能用Fold Change 來表示.

P-value: 機率的概念. 在正常情況下, 我看到這樣的CASE的機率到底有多少? 例如: 在大家都買樂透的情況下. p-value越小越好, 表示越顯著. alpha-value是臨界值, 若p-value小於alpha-value, 則有顯著. 所以一般上習慣把alpha-value設得比較小.

分析一般的 Microarray data方法:

Parametric  Hypothesis Testing (有常態分布)

  • Paired Data :z-test, t-test
  • Unpaired Data :two-sample, t-test
  • Complex Data (more than 2 groups) :One-way Analysis of Variance(ANOVA)

Non-Parametric Hypothesis Testing (不合常態分布)

  • Paired data: Sign test, Wilcoxon signed-rank test
  • Unpaired Data :Wilcoxon rank-sum test, (Mann-Whitney U test).
  • Complex Data :Kruskal-Wallis test

如何知道有無常態分布? 用 QQplot, Shapiro….

Parametric Statistics

Paired Data: 如化療前, 化療後的比較, 吃藥前, 吃藥後.

t.test(x,y,paired =TRUE, alternative = c("two.sided", "less", "greater"))

一定要先對好兩組數據, 然後參數paired = TRUE要寫.

Unpaired Data: sample來自不同的地方

先用var.test 測試p-value是否有顯著, 若越大就越不顯著.

if(sigmaa = sigmab),

var.test(x,y, var.equal = TRUE)

if(sigmaa != sigmab),

var.test(x,y, var.equal=FALSE)

Complex Data: (Using ANOVA)

Example: All dataset

y = drop(exprs(eset[1,]))

out = lm(y~factor(c1)) //lm 變方分析

anova(out)

Non-Parametric Statistics

基本上microarray 是很雜亂的, 不適合用以上的parametric 方式, 故使用這種統計方式.

Paired

wilcox.test(x, y, paired= TRUE, alternative = c("two.sided", "less", "greater"))

Unpaired

wilcox.test(x, y, alternative = c("two.sided", "less", "greater"))

Anova

參考投影片


Permutation Tests

What’s this? 排列. 隨機排列.

比如說, 有10個基因, 每個作2次 就有20次. 把10個結果作隨機排列, 分前五個, 後五個, 計算每個出現的機率.

會形成一個常態分布. Steps可參考教學投影片.

資料數太少的時候不適合用Permutation test, 應該使用"Bootstrap".

用R作permutation test:

"multtest" package

mt.sample.teststat: to compute permuted statistcs

mt.sample.rawp: to compute the p-values

Note: "test" includes:

t, t.equalvar, pairt, wilcoxon, f

Bootstrap

boot.out = boot(englife, function(x, id) {median(x[id])}, 1000}

how many bootstraps ? rule of thumb: 100 times. 可以再試試看1000次, 10000次.

Posted in R.

Leave a reply

required

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>