2009/11/09

EDA 常用的統計方法

先整理一下 有空再詳細寫
1.基本統計量 mean/std/min/max/percentile/
2.distribution verify and display
3.testing hypotheses
4.DOE
5.regression
6.SPC

進階分析
1.MVA(PCA/FDA)
2.Data mining

問題分類
1.Process control
2.Root cause analysis
3.Yield impact
4.Yield prediction
5.Wafer map analysis

2009/07/02

R package

The advantage of using R packages. How to create your own R packages and a little about S3 and S4 class.

http://epub.ub.uni-muenchen.de/6175/1/tr036.pdf

2009/06/16

我的31歲

30歲那年的年尾 離開了生平第一個工作的公司
31歲那年 為自己的理想打拼 為自己的人生努力

那年 讓我學看到很多 學到很多
沒有當時的歷練 就不會有現在的自己

現在雖然離開了當時努力的公司 仍是感謝有過那段經驗

2009/04/01

How many software packages is too much?

看了這篇
How many software packages is too much後的想法 一套DM package就夠了
重要的是對DM method的瞭解 知道什麼方法可以用在什麼樣的問題以及它的限制 用不同software的不同方法會有不同結果通常是因為一些預設值不同造成的 所以在用DM解決問題時 還是要回到最基本的功夫上

2009/03/19

mixed type sort

It's a common problem in semiconductor EDA analysis which plot by lot+wafer number as axis ticks. But the usual sort cannot get the right order for character embed numbers.
The package gtools has the "mixedsort" method for solving this problem.
>library(gtools)
>x <- paste("AA_",1:24, sep="")
>(y <- sort(x))
[1] "AA_1" "AA_10" "AA_11" "AA_12" "AA_13" "AA_14" "AA_15" "AA_16" "AA_17" "AA_18" AA_19"
[12] "AA_2" "AA_20" "AA_21" "AA_22" "AA_23" "AA_24" "AA_3" "AA_4" "AA_5" "AA_6" "AA_7"
[23] "AA_8" "AA_9"
>(y1 <- mixedsort(x))
[1] "AA_1" "AA_2" "AA_3" "AA_4" "AA_5" "AA_6" "AA_7" "AA_8" "AA_9" "AA_10" "AA_11"
[12]"AA_12" "AA_13" "AA_14" "AA_15" "AA_16" "AA_17" "AA_18" "AA_19" "AA_20" "AA_21" "AA_22"
[23]"AA_23" "AA_24"
#you can use mixedorder to get the order
> (y1 <- order(x))
[1] 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 3 4 5 6 7 8 9
> (y2 <- mixedorder(x))
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
view raw mixedsort hosted with ❤ by GitHub

2009/02/19

Data Modeling

好文
如何建構與評估經濟理論模型

"1.經濟理論模型必須要有實證動機;2. 經濟理論模型必須能夠透過估計檢定或是模擬校準(calibra-
tion) 等方式, 評估該理論模型的良莠"


同樣的對於統計模型 DM modeling 也是吧

2009/02/18

Axis scaling algorithm

A good look axes scale usually increase by 10^(x) or 0.5*10^(x) according to the data's range. Dorothy E. Pugh provide an algorithm (and SAS Macro) for generated suitable axis scale, I modified the SAS code into R code
getAxisInterval <- function(x){
threshold <- c(3.162, 1.25, 1)
y <- range(x)
z <- format(diff(y), digits = 7, scientific = T)
tmp <- unlist(strsplit(z, "e"))
exppart <- as.numeric(tmp[2])
mantissa <- round(abs(as.numeric(tmp[1])), digit = 3)
intby <- switch(min(which(mantissa>=threshold, arr.ind = TRUE)), 10^exppart,
0.5*10^exppart, 10^(expart-1), 10^exppart)
#original limits
#tmp <- (0.5+0.01)*intby
#axislimit <- round(range(x) + c(-tmp, tmp), digit = -(exppart-1))
axislimit <- c(floor(y[1]/intby)*intby, ceiling(y[2]/intby)*intby)
return(list(axislimit = axislimit, stepBy = intby))
}
#for specified ticks location you can use
#ats <- seq(axislimit[1], axislimit[2], intby)
view raw axisScaling hosted with ❤ by GitHub


reference:Dorothy E. Pugh(SUGI25), "A Robust Generalized Axis-scaling Macro"

CC Copyright

創用 CC 授權條款
本著作由Chunhung Chou製作,以創用CC 姓名標示-相同方式分享 3.0 Unported 授權條款釋出。