ฝึกโมเดลเชิงเส้น
เราจะ fit โมเดลเชิงเส้น (linear model) เพราะเป็นโมเดลที่เข้าใจง่ายและตีความได้ตรงไปตรงมา เมื่อ fit โมเดลแล้ว จะเห็นได้ว่าตัวแปรพยากรณ์ตัวใดมีความสัมพันธ์เชิงเส้นกับ target อย่างมีนัยสำคัญ รวมถึงขนาดของผลกระทบที่มีต่อ target ด้วย การพิจารณาว่าตัวแปรใดมีนัยสำคัญหรือไม่จะอ้างอิงจาก p-value ของสัมประสิทธิ์ (coefficient) ซึ่งใช้ t-test ในการทดสอบทางสถิติว่าสัมประสิทธิ์นั้นแตกต่างจาก 0 อย่างมีนัยสำคัญหรือไม่ โดย p-value คือความน่าจะเป็นที่สัมประสิทธิ์ของ feature จะไม่แตกต่างจากศูนย์ โดยทั่วไปหาก p-value น้อยกว่า 0.05 ถือว่าสัมประสิทธิ์นั้นแตกต่างจาก 0 อย่างมีนัยสำคัญ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning สำหรับการเงินด้วย Python
คำแนะนำการฝึกหัด
- Fit โมเดลเชิงเส้นโดยใช้เมธอด
.fit()แล้วบันทึกผลลัพธ์ไว้ในตัวแปรresults - แสดงสรุปผลลัพธ์ด้วยฟังก์ชัน
.summary() - แสดง p-value จากผลลัพธ์ (ใช้ property
.pvaluesของresults) - ทำนายค่าจาก
train_featuresและtest_featuresโดยใช้ฟังก์ชัน.predict()ของออบเจกต์results
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create the linear model and complete the least squares fit
model = sm.OLS(train_targets, train_features)
results = model.____ # fit the model
print(results.____)
# examine pvalues
# Features with p <= 0.05 are typically considered significantly different from 0
print(results.____)
# Make predictions from our model for train and test sets
train_predictions = results.predict(train_features)
test_predictions = ____