วันศุกร์ที่ 13 พฤศจิกายน พ.ศ. 2558

วิเคราะห์ RSM ด้วย R (How to do RSM in R) (ตอนที่ 1)

    แพกเกจที่น่าสนใจมากอีกอันหนึ่งของ R คือ rsm ซึ่งสามารถใช้ในการวิเคราะห์พื้นผิวตอบสนองหรือที่รู้จักกันดีในชื่อ response surface methodology (RSM) ซึ่งเราสามารถติดตั้งด้วยฟังก์ชั่น install.packages() ตามที่เคยเขียนไปก่อนหน้านี้

     ในวันนี้ผมจะพูดถึงการออกแบบแบบการทดลองสำหรับวิเคราะห์ RSM ก่อนจะไปถึงการวิเคราะห์ต่อไปในอนาคต แพกเกจ rsm มาพร้อมกับฟังก์ชั่นในการสร้างแผนการทดลองที่เหมาะสำหรับ RSM เช่น CCD (central composite design)โดยใช้ฟังก์ชั่น ccd  เช่นหากต้องการออกแบบแผนการทดลองที่มี 3 ตัวแปร มีจุดกึ่งกลาง (center point) ซ้ำ 4 ครั้ง


http://doi.ieeecomputersociety.org/cms/Computer.org/dl/trans/tm/2006/06/figures/h06273.gif


   จากรูปแบบการใช้ฟังก์ชั่น ccd
 
ccd(basis, generators, blocks = "Block", n0 = 4, alpha = "orthogonal", 
    wbreps = 1, bbreps = 1, randomize = TRUE, inscribed = FALSE, 
    coding, oneblock = FALSE)

เราจะใส่ค่า basis ซึ่งคือจำนวนปัจจัยเป็น 3 ค่า n0=c(4,0) เนื่องจากสำหรบ ccd นั้นจะใส่ค่าเป็นเว็คเตอร์ และค่า oneblock=TRUE เพื่อให้สร้างแผนการทดลองแบบบล็อกเดียว

 > ccd(3,n0=c(4,0),alpha="rotatable",oneblock=TRUE)
   run.order std.order  x1.as.is  x2.as.is  x3.as.is
1          1         7 -1.000000  1.000000  1.000000
2          2         1 -1.000000 -1.000000 -1.000000
3          3         3 -1.000000  1.000000 -1.000000
4          4         3  0.000000 -1.681793  0.000000
5          5         2  1.681793  0.000000  0.000000
6          6         2  1.000000 -1.000000 -1.000000
7          7         4  1.000000  1.000000 -1.000000
8          8        11  0.000000  0.000000  0.000000
9          9         6  1.000000 -1.000000  1.000000
10        10         5 -1.000000 -1.000000  1.000000
11        11         5  0.000000  0.000000 -1.681793
12        12        10  0.000000  0.000000  0.000000
13        13         8  1.000000  1.000000  1.000000
14        14        12  0.000000  0.000000  0.000000
15        15         9  0.000000  0.000000  0.000000
16        16         6  0.000000  0.000000  1.681793
17        17         4  0.000000  1.681793  0.000000
18        18         1 -1.681793  0.000000  0.000000

Data are stored in coded form using these coding formulas ...
x1 ~ x1.as.is
x2 ~ x2.as.is
x3 ~ x3.as.is


    จะเห็นได้ว่าเราได้แผนการทดลองที่มีจำนวนทั้งสิ้น 18 การทดลองโดยมีการซ้ำที่จุดกึ่งกลาง (0,0,0) จำนวน 4 ซ้ำ สำหรับแผนที่ได้จะเป็นค่าที่เป็น code ไม่ใช่ค่าจริงของปัจจัย  สำหรับค่าจริงนั้นสมมติว่าปัจจัย x1 คือ Temp มีค่า 140-160, x2 คือ Press มีค่า 45 - 55, x3 คือ Time มีค่า 8-12 เราจะใส่ในส่วน coding ดังนี้

> ccd(3,n0=c(4,0),alpha="rotatable",oneblock=TRUE,coding=list(x1~(Temp-150)/10,x2~(Pres-50)/5,x3~(Time-10)/2))
   run.order std.order     Temp     Pres      Time
1          1         9 150.0000 50.00000 10.000000
2          2         6 160.0000 45.00000 12.000000
3          3        11 150.0000 50.00000 10.000000
4          4         7 140.0000 55.00000 12.000000
5          5         5 150.0000 50.00000  6.636414
6          6         6 150.0000 50.00000 13.363586
7          7         5 140.0000 45.00000 12.000000
8          8         3 150.0000 41.59104 10.000000
9          9         2 160.0000 45.00000  8.000000
10        10         2 166.8179 50.00000 10.000000
11        11        12 150.0000 50.00000 10.000000
12        12        10 150.0000 50.00000 10.000000
13        13         3 140.0000 55.00000  8.000000
14        14         1 140.0000 45.00000  8.000000
15        15         1 133.1821 50.00000 10.000000
16        16         4 150.0000 58.40896 10.000000
17        17         4 160.0000 55.00000  8.000000
18        18         8 160.0000 55.00000 12.000000

Data are stored in coded form using these coding formulas ...
x1 ~ (Temp - 150)/10
x2 ~ (Pres - 50)/5
x3 ~ (Time - 10)/2







ไม่มีความคิดเห็น:

แสดงความคิดเห็น