8 เมนูเสริมที่น่าสนใจ
นอกจากเมนูและแบบจำลองทางสถิติมาตรฐานแล้ว โปรแกรม jamovi ยังเปิดโอกาสให้นักพัฒนาสร้าง โมดูลเสริม (modules) เพื่อเพิ่มความสามารถในการวิเคราะห์ข้อมูล การสร้างกราฟ และการจัดการข้อมูล
ผู้ใช้สามารถค้นหาและติดตั้งโมดูลเสริมได้จากเมนูเครื่องหมาย + บริเวณมุมบนด้านขวาของโปรแกรม
ในบทนี้จะแนะนำโมดูลเสริมที่มีประโยชน์ใน 3 กลุ่ม ได้แก่
- การสร้างกราฟสำหรับข้อมูลแบบสำรวจ
- การศึกษาการแจกแจงความน่าจะเป็น
- การจัดรูปแบบและแปลงโครงสร้างข้อมูล
8.1 surveymv
โมดูล surveymv เหมาะสำหรับการสร้างกราฟจากข้อมูลแบบสำรวจ โดยเฉพาะตัวแปรเชิงกลุ่ม เช่น ตัวแปร nominal หรือ ordinal
ตัวอย่างข้อมูลประกอบด้วยตัวแปร gender และ feeling
หลังติดตั้งแล้ว สามารถเรียกใช้เมนู Exploration → Survey Plots
เปิดข้อมูล question.xlsx ด้วย jamovi แล้วปรับตัวแปรดังนี้
- เปลี่ยนชื่อ
genderเป็นเพศ - เปลี่ยนชื่อ
feelingเป็นความรู้สึก - กำหนด
ความรู้สึกให้เป็นตัวแปรแบบ ordinal และเรียงลำดับจาก
ไม่ชอบเลย → ไม่ชอบ → เฉย ๆ → ชอบ → ชอบมาก
สามารถสร้างกราฟได้หลายรูปแบบ เช่น
หากต้องการเปรียบเทียบ ความรู้สึก แยกตาม เพศ สามารถกำหนดตัวแปรกลุ่มเพิ่มเติมได้
จากตัวอย่างจะเห็นว่า jamovi สามารถแสดงชื่อและระดับของตัวแปรภาษาไทยได้ค่อนข้างดี
8.2 distrACTION
โมดูล distrACTION ใช้สำหรับศึกษาการแจกแจงความน่าจะเป็น และช่วยคำนวณ
- probability
- cumulative probability
- quantile
- critical value
ของการแจกแจงแบบต่อเนื่องและแบบไม่ต่อเนื่องหลายชนิด
เมื่อติดตั้งแล้ว จะมีเมนูสำหรับเลือกชนิดการแจกแจงและกำหนดค่าพารามิเตอร์
8.3 การแจกแจงแบบปกติ (Normal Distribution)
การแจกแจงแบบปกติเป็นการแจกแจงความน่าจะเป็นแบบต่อเนื่องที่มีรูปร่างสมมาตรรอบค่าเฉลี่ย และมีลักษณะคล้ายรูประฆัง (bell-shaped curve)
ถ้า
\[ X\sim N(\mu,\sigma^2) \]
ฟังก์ชันความหนาแน่นความน่าจะเป็นคือ
\[ f(x)= \frac{1}{\sigma\sqrt{2\pi}} \exp\left[ -\frac{(x-\mu)^2}{2\sigma^2} \right], \qquad -\infty<x<\infty \]
โดยที่
- \(\mu\) คือค่าเฉลี่ย
- \(\sigma\) คือส่วนเบี่ยงเบนมาตรฐาน
- \(\sigma^2\) คือความแปรปรวน
8.3.1 คุณสมบัติสำคัญ
Mean = Median = Mode
สำหรับการแจกแจงปกติ ค่าเฉลี่ย มัธยฐาน และฐานนิยมอยู่ที่ตำแหน่งเดียวกันSymmetry
การแจกแจงสมมาตรรอบค่าเฉลี่ยSkewness = 0
Empirical Rule
โดยประมาณ
\[ P(\mu-\sigma<X<\mu+\sigma)\approx0.68 \]
\[ P(\mu-2\sigma<X<\mu+2\sigma)\approx0.95 \]
\[ P(\mu-3\sigma<X<\mu+3\sigma)\approx0.997 \]
8.3.2 การหาความน่าจะเป็น
หาก \(F(x)\) คือ cumulative distribution function (CDF)
\[ P(X\leq x)=F(x) \]
และ
\[ P(x_1\leq X\leq x_2) = F(x_2)-F(x_1) \]
หรือเขียนในรูปอินทิกรัลได้เป็น
\[ P(x_1\leq X\leq x_2) = \int_{x_1}^{x_2} f(x)\,dx \]
8.3.3 การหาควอนไทล์
ถ้าต้องการค่า \(x\) ที่ทำให้
\[ P(X\leq x)=p \]
จะได้
\[ x=F^{-1}(p) \]
หาก
\[ \mu=0,\qquad \sigma=1 \]
จะเรียกว่า การแจกแจงปกติมาตรฐาน (Standard Normal Distribution)
\[ Z\sim N(0,1) \]
8.3.4 ตัวอย่างผลผลิตข้าวหอมมะลิ
สมมติผลผลิตข้าวหอมมะลิต่อไร่แจกแจงแบบปกติ โดยมี
\[ X\sim N(400,50^2) \]
กล่าวคือ ค่าเฉลี่ย 400 กิโลกรัมต่อไร่ และส่วนเบี่ยงเบนมาตรฐาน 50 กิโลกรัมต่อไร่
ในฉบับเดิมระบุ SD = 60 แต่ตัวอย่างและผลลัพธ์ทั้งหมดคำนวณด้วย SD = 50 จึงปรับให้สอดคล้องกันเป็น SD = 50
8.3.5 ตัวอย่างที่ 1: ผลผลิตน้อยกว่า 350 กก./ไร่
ต้องการหา
\[ P(X\leq350) \]
| Input | Value |
|---|---|
| Mean | 400 |
| SD | 50 |
| \(x_1\) | 350 |
| Mode | \(P(X\leq x_1)\) |
Result
\[ P(X\leq350)\approx0.159 \]
8.3.6 ตัวอย่างที่ 2: ผลผลิตมากกว่า 450 กก./ไร่
\[ P(X\geq450) \]
| Input | Value |
|---|---|
| Mean | 400 |
| SD | 50 |
| \(x_1\) | 450 |
| Mode | \(P(X\geq x_1)\) |
Result
\[ P(X\geq450)\approx0.159 \]
8.3.7 ตัวอย่างที่ 3: ผลผลิตระหว่าง 350 และ 450 กก./ไร่
\[ P(350\leq X\leq450) \]
Result
\[ P(350\leq X\leq450) \approx0.683 \]
8.3.8 ตัวอย่างที่ 4: ควอนไทล์ที่ 0.95
ต้องการหาค่า \(x\) ที่ทำให้
\[ P(X\leq x)=0.95 \]
Result
\[ x\approx482 \]
ดังนั้นประมาณ 95% ของผลผลิตจะมีค่าไม่เกิน 482 กิโลกรัมต่อไร่ ภายใต้แบบจำลองนี้
8.4 การแจกแจงแบบ t (Student’s t-Distribution)
การแจกแจงแบบ \(t\) เป็นการแจกแจงแบบต่อเนื่องที่สมมาตรรอบศูนย์ มีลักษณะคล้ายการแจกแจงปกติมาตรฐาน แต่มีหางหนากว่า
รูปทรงของการแจกแจงขึ้นอยู่กับ degrees of freedom (df)
เมื่อ \(df\) เพิ่มขึ้น การแจกแจง \(t\) จะเข้าใกล้การแจกแจงปกติมาตรฐานมากขึ้น
ฟังก์ชันความหนาแน่นของ Student’s \(t\) คือ
\[ f(t)= \frac{ \Gamma\left(\frac{\nu+1}{2}\right) }{ \sqrt{\nu\pi}\, \Gamma\left(\frac{\nu}{2}\right) } \left( 1+\frac{t^2}{\nu} \right)^{-\frac{\nu+1}{2}} \]
โดยที่ \(\nu\) คือ degrees of freedom
8.4.1 การใช้งานที่สำคัญ
การแจกแจง \(t\) ปรากฏในการอนุมานเกี่ยวกับค่าเฉลี่ยเมื่อไม่ทราบส่วนเบี่ยงเบนมาตรฐานของประชากร เช่น
- One-Sample t-test
- Independent Samples t-test
- Paired Samples t-test
- Confidence interval ของค่าเฉลี่ย
- การทดสอบสัมประสิทธิ์ใน Linear Regression
หากโมดูลมีพารามิเตอร์ noncentrality เช่น \(\lambda\) หรือ \(\delta\) ค่าศูนย์จะให้ central t-distribution ที่ใช้ในการทดสอบ t โดยทั่วไป ส่วนค่าที่ไม่เป็นศูนย์ใช้กับ noncentral t-distribution
8.5 การแจกแจงแบบไคสแควร์ (Chi-Square Distribution)
หาก
\[ X\sim\chi^2_\nu \]
การแจกแจงไคสแควร์เป็นการแจกแจงแบบต่อเนื่องที่มีค่าตั้งแต่ 0 ขึ้นไป และมีรูปร่างเบ้ขวา โดยรูปทรงขึ้นอยู่กับ degrees of freedom \(\nu\)
ฟังก์ชันความหนาแน่นคือ
\[ f(x)= \frac{ 1 }{ 2^{\nu/2}\Gamma(\nu/2) } x^{\nu/2-1} e^{-x/2}, \qquad x>0 \]
8.5.1 การใช้งานสำคัญ
- Chi-Square Goodness-of-Fit Test
- Chi-Square Test of Independence / Association
- การอนุมานเกี่ยวกับความแปรปรวนของประชากรปกติ
- Likelihood-ratio tests บางชนิดในแบบจำลองสถิติ
Standard ANOVA ใช้ F-distribution สำหรับสถิติทดสอบ ไม่ได้ใช้ Chi-Square distribution โดยตรง
8.6 การแจกแจงแบบ F (F-Distribution)
การแจกแจง \(F\) เป็นการแจกแจงแบบต่อเนื่องที่มีค่าเป็นบวก และมีหางขวา
รูปทรงขึ้นอยู่กับ degrees of freedom สองค่า
\[ d_1=\text{numerator df} \]
\[ d_2=\text{denominator df} \]
หาก
\[ X\sim F(d_1,d_2) \]
ฟังก์ชันความหนาแน่นเขียนได้เป็น
\[ f(x)= \frac{ \Gamma\left(\frac{d_1+d_2}{2}\right) }{ \Gamma\left(\frac{d_1}{2}\right) \Gamma\left(\frac{d_2}{2}\right) } \left(\frac{d_1}{d_2}\right)^{d_1/2} \frac{ x^{d_1/2-1} }{ \left(1+\frac{d_1}{d_2}x\right)^{(d_1+d_2)/2} }, \qquad x>0 \]
8.6.1 การใช้งานสำคัญ
- ANOVA
- ANCOVA
- การทดสอบภาพรวมของ Linear Regression
- การเปรียบเทียบความแปรปรวนภายใต้สมมติฐานที่เหมาะสม
สำหรับ One-Way ANOVA
\[ F= \frac{MS_{\text{Between}}} {MS_{\text{Within}}} \]
โดยมี
\[ df_1=k-1 \]
และ
\[ df_2=N-k \]
เมื่อ \(k\) คือจำนวนกลุ่ม และ \(N\) คือจำนวนหน่วยสังเกตรวม
สำหรับตัวแปรสุ่มแบบต่อเนื่อง
\[ P(X=x)=0 \]
ดังนั้นการหาความน่าจะเป็นต้องพิจารณาเป็นช่วง เช่น
\[ P(a<X<b) \]
อย่างไรก็ตาม ฟังก์ชันความหนาแน่น \(f(x)\) ที่จุดหนึ่งอาจมากกว่า 0 ได้ เพราะ density ไม่ใช่ probability
8.7 การแจกแจงแบบทวินาม (Binomial Distribution)
การแจกแจงแบบทวินามใช้สำหรับจำนวนครั้งของ “ความสำเร็จ” จากการทดลอง Bernoulli จำนวน \(n\) ครั้ง ภายใต้เงื่อนไขสำคัญ
- มีจำนวนการทดลองคงที่ \(n\)
- แต่ละครั้งมีผลลัพธ์ 2 แบบ
- การทดลองแต่ละครั้งเป็นอิสระกัน
- ความน่าจะเป็นของความสำเร็จ \(p\) คงที่
ถ้า
\[ X\sim Binomial(n,p) \]
ฟังก์ชันมวลความน่าจะเป็นคือ
\[ P(X=k) = \binom{n}{k} p^k(1-p)^{n-k}, \qquad k=0,1,\ldots,n \]
8.7.1 ตัวอย่าง
โยนเหรียญยุติธรรม 10 ครั้ง ต้องการความน่าจะเป็นที่จะได้หัว 6 ครั้ง
\[ n=10,\qquad k=6,\qquad p=0.5 \]
ดังนั้น
\[ P(X=6) = \binom{10}{6} (0.5)^6 (0.5)^4 \]
\[ = 210(0.5)^{10} \]
\[ \approx0.205 \]
จึงมีความน่าจะเป็นประมาณ 20.5%
8.8 การแจกแจงแบบปัวซอง (Poisson Distribution)
การแจกแจงแบบปัวซองใช้สร้างแบบจำลองจำนวนเหตุการณ์ที่เกิดขึ้นในช่วงเวลา พื้นที่ หรือ exposure ที่กำหนด ภายใต้สมมติฐานว่าอัตราเฉลี่ยของเหตุการณ์คงที่ และเหตุการณ์เกิดอย่างอิสระในกรอบของแบบจำลอง
ถ้า
\[ X\sim Poisson(\lambda) \]
ฟังก์ชันมวลความน่าจะเป็นคือ
\[ P(X=k) = \frac{\lambda^k e^{-\lambda}}{k!}, \qquad k=0,1,2,\ldots \]
โดยที่ \(\lambda\) คือจำนวนเหตุการณ์เฉลี่ยในช่วงที่สนใจ
8.8.1 ตัวอย่าง
ศูนย์บริการได้รับโทรศัพท์เฉลี่ย 2 ครั้งต่อชั่วโมง ต้องการหาความน่าจะเป็นที่จะมีสายเข้า 3 ครั้งในหนึ่งชั่วโมง
\[ \lambda=2,\qquad k=3 \]
ดังนั้น
\[ P(X=3) = \frac{2^3e^{-2}}{3!} \]
\[ \approx0.1804 \]
จึงมีความน่าจะเป็นประมาณ 18.04%
8.8.2 ตัวอย่างการประยุกต์ใช้
- จำนวนสายโทรเข้าในหนึ่งชั่วโมง
- จำนวนผู้ป่วยมาถึงห้องฉุกเฉินในช่วงเวลาหนึ่ง
- จำนวนอุบัติเหตุในพื้นที่หนึ่ง
- จำนวนข้อผิดพลาดที่เกิดในกระบวนการผลิต
8.9 โมดูลสำหรับข้อมูลตัวอย่าง
โมดูลบางชนิดช่วยนำเข้าชุดข้อมูลตัวอย่างสำหรับใช้ฝึกวิเคราะห์
เมื่อติดตั้งแล้ว สามารถเลือกชุดข้อมูลเพื่อนำเข้ามาใช้งานใน jamovi ได้
8.10 jReshape สำหรับการเปลี่ยนโครงสร้างข้อมูล
Reshape คือการเปลี่ยนโครงสร้างข้อมูลจากรูปแบบหนึ่งไปเป็นอีกรูปแบบหนึ่ง เช่น
- Wide → Long
- Long → Wide
การจัดรูปแบบข้อมูลให้เหมาะสมมีความสำคัญ เพราะวิธีวิเคราะห์แต่ละชนิดอาจต้องการโครงสร้างข้อมูลต่างกัน
8.11 Wide Format
Wide format จัดข้อมูลโดยให้ค่าที่วัดซ้ำหรือตัวแปรหลายรายการอยู่คนละคอลัมน์
ตัวอย่าง
Wide format มักเหมาะกับข้อมูลที่หนึ่งแถวแทนหนึ่งหน่วยตัวอย่าง และตัวแปรหลายรายการแยกอยู่คนละคอลัมน์ เช่น ข้อมูล repeated measures บางรูปแบบ หรือการจัดทำรายงานใน Excel
8.12 Long Format
Long format นำค่าที่เดิมอยู่หลายคอลัมน์มาเรียงในหลายแถว พร้อมสร้างตัวแปรใหม่เพื่อระบุประเภทหรือช่วงเวลาของค่าดังกล่าว
Long format มักเหมาะกับการวิเคราะห์ที่ต้องการตัวแปรหนึ่งคอลัมน์สำหรับค่าที่วัด และอีกคอลัมน์สำหรับตัวระบุกลุ่มหรือเงื่อนไข
ไม่ได้หมายความว่า jamovi, JASP หรือ R ต้องใช้ Long format เสมอไป เพราะการวิเคราะห์บางประเภท เช่น Paired Samples t-test หรือ Repeated Measures ANOVA อาจใช้ Wide format ได้โดยตรง
โมดูล jReshape ช่วยให้สามารถเปลี่ยนโครงสร้างข้อมูลภายใน jamovi โดยไม่ต้องเปิดโปรแกรมอื่นก่อน
หลังติดตั้งจะพบไอคอน Data
ฟังก์ชันหลักที่แสดงในโมดูล ได้แก่
- Wide to Long
- Long to Wide
- Merge Columns
8.13 ตัวอย่าง Wide to Long
- ดาวน์โหลดข้อมูล
df_wide.xlsx - เปิดไฟล์ด้วย jamovi
- เลือก
Data → Wide to Long - กำหนดค่าตามภาพ
เมื่อกด Reshape จะได้ข้อมูลในรูป Long format
8.14 ตัวอย่าง Long to Wide
สามารถแปลงข้อมูลกลับจาก Long เป็น Wide ได้
- เลือก
Data → Long to Wide - กำหนด ID, key และ value ตามโครงสร้างข้อมูล
- กด
Reshape
8.15 Merge Columns
Merge Columns ใช้รวมข้อมูลจากสองตารางโดยใช้ตัวแปรที่มีค่าร่วมกันเป็น key
แนวคิดนี้คล้ายกับคำสั่ง JOIN ใน SQL
ตัวอย่างมี 2 ตาราง
Table 1: Students
| ID | Name | Gender |
|---|---|---|
| 1 | Alice | Female |
| 2 | Bob | Male |
| 3 | Charlie | Male |
| 4 | David | Male |
| 5 | Eva | Female |
Table 2: Scores
| ID | Math_Score |
|---|---|
| 1 | 85 |
| 2 | 90 |
| 4 | 78 |
| 5 | 92 |
| 6 | 88 |
เปิด table1.csv ด้วย jamovi แล้วเลือก
Data → Merge Columns
เพิ่มไฟล์ table2.csv
จากนั้นเลือกชนิดของ join ที่ต้องการ
8.15.1 Outer / Full Join
เก็บทุก ID จากทั้งสองตาราง
| ID | Name | Gender | Math_Score |
|---|---|---|---|
| 1 | Alice | Female | 85 |
| 2 | Bob | Male | 90 |
| 3 | Charlie | Male | NA |
| 4 | David | Male | 78 |
| 5 | Eva | Female | 92 |
| 6 | NA | NA | 88 |
- ID = 3 มีข้อมูลเฉพาะ Table 1 จึงไม่มีคะแนน
- ID = 6 มีข้อมูลเฉพาะ Table 2 จึงไม่มีชื่อและเพศ
8.15.2 Inner Join
เก็บเฉพาะ ID ที่มีอยู่ในทั้งสองตาราง
| ID | Name | Gender | Math_Score |
|---|---|---|---|
| 1 | Alice | Female | 85 |
| 2 | Bob | Male | 90 |
| 4 | David | Male | 78 |
| 5 | Eva | Female | 92 |
ผลลัพธ์จะมีเฉพาะ ID = 1, 2, 4 และ 5
8.15.3 Left Join
เก็บทุกแถวจาก ตารางซ้าย/ตารางหลัก (Table 1) แล้วนำข้อมูลที่ตรงกันจาก Table 2 มาต่อ
| ID | Name | Gender | Math_Score |
|---|---|---|---|
| 1 | Alice | Female | 85 |
| 2 | Bob | Male | 90 |
| 3 | Charlie | Male | NA |
| 4 | David | Male | 78 |
| 5 | Eva | Female | 92 |
ดังนั้น ID = 3 ยังอยู่ แต่ Math_Score เป็น NA
8.15.4 Right Join
เก็บทุกแถวจาก Table 2 แล้วเติมข้อมูลที่ตรงกันจาก Table 1
| ID | Name | Gender | Math_Score |
|---|---|---|---|
| 1 | Alice | Female | 85 |
| 2 | Bob | Male | 90 |
| 4 | David | Male | 78 |
| 5 | Eva | Female | 92 |
| 6 | NA | NA | 88 |
ดังนั้น ID = 6 ยังอยู่ แต่ Name และ Gender เป็น NA
ก่อน merge ควรตรวจสอบว่า key เช่น ID มีชนิดข้อมูลตรงกันในทั้งสองตาราง และพิจารณาว่า key มีค่าซ้ำหรือไม่ เพราะ key ที่ซ้ำอาจทำให้จำนวนแถวเพิ่มขึ้นหลัง join
8.16 One-Hot Encoding
One-Hot Encoding เป็นวิธีแปลงตัวแปรเชิงกลุ่มให้เป็นชุดตัวแปร indicator ที่มีค่า 0 หรือ 1
ตัวอย่าง ตัวแปร Color
| ID | Color |
|---|---|
| 1 | Red |
| 2 | Green |
| 3 | Blue |
| 4 | Red |
| 5 | Blue |
หลังทำ One-Hot Encoding
| ID | Red | Green | Blue |
|---|---|---|---|
| 1 | 1 | 0 | 0 |
| 2 | 0 | 1 | 0 |
| 3 | 0 | 0 | 1 |
| 4 | 1 | 0 | 0 |
| 5 | 0 | 0 | 1 |
หลังติดตั้งจะพบเมนูภายใต้ไอคอน Data
ตัวอย่างการใช้งาน
- เปิดไฟล์
color.xlsx - เลือก
Data → One Hot Encoding - เลือกตัวแปรเชิงกลุ่มที่ต้องการแปลง
- สร้าง dummy/indicator columns ตามภาพ
เมนู Regression หลายชนิดใน jamovi สามารถรับตัวแปร categorical เป็น Factors ได้โดยตรง และโปรแกรมจะจัดการ contrast/dummy coding ให้
One-Hot Encoding มีประโยชน์เมื่อ
- ต้องการเตรียมข้อมูลส่งต่อไปยังอัลกอริทึมหรือซอฟต์แวร์อื่น
- ต้องการสร้างตัวแปร indicator ด้วยตนเอง
- ต้องการควบคุมโครงสร้างข้อมูลก่อนนำไปใช้ในงาน Machine Learning
ดังนั้นไม่ควรสรุปว่า Linear Regression หรือ Logistic Regression ใน jamovi “จำเป็น” ต้อง One-Hot Encode ตัวแปร categorical ก่อนเสมอ
ถ้าตัวแปรมี \(k\) กลุ่ม และแบบจำลองมี intercept โดยทั่วไปไม่ควรใส่ dummy variables ครบทั้ง \(k\) ตัวพร้อมกัน เพราะจะเกิด perfect multicollinearity
โดยทั่วไปจะใช้เพียง
\[ k-1 \]
dummy variables และเลือกหนึ่งกลุ่มเป็น reference category
8.17 สรุปโมดูลที่แนะนำ
| โมดูล / เครื่องมือ | การใช้งานหลัก |
|---|---|
| surveymv | สร้างกราฟจากข้อมูลแบบสำรวจ |
| distrACTION | คำนวณ probability และ quantile ของการแจกแจงต่าง ๆ |
| Dataset module | โหลดข้อมูลตัวอย่างสำหรับฝึกวิเคราะห์ |
| jReshape | Wide ↔︎ Long และ Merge Columns |
| OneHotEncoding | แปลง categorical variables เป็น indicator variables |
8.18 Learning Check
- หาก \(X\sim N(400,50^2)\) ต้องการหา \(P(350<X<450)\) ควรเลือกการคำนวณแบบใดใน distrACTION?
- สำหรับตัวแปรสุ่มต่อเนื่อง เหตุใด \(P(X=x)=0\)?
- Wide format และ Long format แตกต่างกันอย่างไร?
- หากต้องการเก็บทุก ID จาก Table 1 แม้ว่าบาง ID จะไม่มีใน Table 2 ควรใช้ join แบบใด?
- หากต้องการเก็บเฉพาะ ID ที่อยู่ในทั้งสองตาราง ควรใช้ join แบบใด?
- jamovi จำเป็นต้องทำ One-Hot Encoding ก่อน Linear Regression ทุกครั้งหรือไม่?
- เพราะเหตุใดจึงมักใช้เพียง \(k-1\) dummy variables เมื่อมี categorical predictor จำนวน \(k\) ระดับ?














































