วิธีใช้ฟังก์ชัน lineest ใน vba (พร้อมตัวอย่าง)
คุณสามารถใช้เมธอด LinEst ใน VBA เพื่อให้พอดีกับโมเดลการถดถอยเชิงเส้น
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
LinEst(Arg1, Arg2, Arg3, Arg4)
ทอง:
- Arg1 : ชุดของค่า y
- Arg2 : ชุดของค่า x
- Arg3 (เป็นทางเลือก) : TRUE = คำนวณการสกัดกั้นตามปกติ FALSE = บังคับให้การสกัดกั้นเป็นศูนย์
- Arg4 (ไม่บังคับ) : TRUE = คำนวณสถิติการถดถอยเพิ่มเติม FALSE = คำนวณเฉพาะค่าสัมประสิทธิ์เท่านั้น
ตัวอย่างต่อไปนี้แสดงวิธีการใช้ เมธอด LinEst เพื่อให้เหมาะสมกับโมเดลการถดถอยใน VBA
ตัวอย่าง: วิธีใช้ฟังก์ชัน LinEst ใน VBA
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ที่มีตัวแปรทำนาย (x) และตัวแปรตอบสนอง (y):
เราสามารถสร้างมาโครต่อไปนี้ที่ใช้เมธอด LinEst เพื่อให้พอดีกับโมเดลการถดถอยเชิงเส้นอย่างง่ายกับชุดข้อมูลนี้:
Sub UseLinEst() Range(" D1:E1 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 ")) End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
ค่าผลลัพธ์แสดงถึงค่าสัมประสิทธิ์ของแบบจำลองการถดถอย:
- ค่าสัมประสิทธิ์สำหรับ β 0 คือ 3.52169
- ค่าสัมประสิทธิ์สำหรับ β1 คือ 0.693717
เมื่อใช้ค่าเหล่านี้ เราสามารถเขียนสมการสำหรับแบบจำลองการถดถอยอย่างง่ายนี้ได้:
y = 3.52169 + 0.693717(x)
เราตีความสิ่งนี้ว่าหมายความว่าการเพิ่มขึ้นของตัวแปรทำนาย x ที่เพิ่มขึ้นหนึ่งหน่วยแต่ละครั้งสัมพันธ์กับการเพิ่มขึ้นเฉลี่ย 0.693717 ในตัวแปรตอบสนอง y
เราตีความคำเดิมว่าเมื่อ x เป็นศูนย์ ค่าเฉลี่ยของ y จะเป็น 3.52169
ถ้าเราต้องการใช้เมธอด LinEst เพื่อสร้างสถิติการถดถอยเพิ่มเติม เราสามารถใช้ไวยากรณ์ต่อไปนี้:
Sub UseLinEst() Range(" D1:E5 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 "), True, True) End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
ภาพหน้าจอต่อไปนี้ให้คำอธิบายของแต่ละค่าในผลลัพธ์:
การระบุค่า True ให้กับอาร์กิวเมนต์สุดท้ายของวิธี LineEst ทำให้เราสามารถคำนวณสถิติการถดถอยเพิ่มเติมได้หลายรายการ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีจัดประเภทรายการค่า
VBA: วิธีคำนวณค่าเบี่ยงเบนมาตรฐานของช่วง
VBA: วิธีคำนวณค่าเฉลี่ยถ่วงน้ำหนัก