เส้นตรงหมายถึงอะไรในการถดถอยเชิงเส้น


11

ใน R ถ้าฉันเขียน

lm(a ~ b + c + b*c) 

นี่จะเป็นการถดถอยเชิงเส้นหรือไม่?

วิธีการถดถอยแบบอื่น ๆ ใน R? ฉันจะขอบคุณคำแนะนำสำหรับหนังสือหรือแบบฝึกหัดใดบ้าง?


ฉันพยายามตั้งคำถามใหม่อีกครั้ง ฉันกลัวว่าคุณจะถามคำถามสองข้อที่แตกต่างกันมาก สำหรับคนที่สองเป็นจำนวนมากของทรัพยากรที่มีอยู่ในเว็บไซต์นี้ แต่ยังเกี่ยวกับCRAN
chl

@chl, yeap ขอบคุณฉันไม่ชัดเจน คำถามของฉันคือ: ถ้าฉันเขียน LM ใน R R จะเข้าใจมันเป็นเส้นตรงเสมอหรือพยายามให้พอดีกับโมเดลใด ๆ ไม่จำเป็นต้องถดถอยเชิงเส้น แต่เป็นการถดถอยใด ๆ
suprvisr

ไม่lm()ย่อมาจากการถดถอยเชิงเส้น โมเดลของคุณมีพารามิเตอร์สามตัว (ลบด้วยการสกัดกั้น) สำหรับb, cและการมีปฏิสัมพันธ์ของพวกเขาb:cซึ่งย่อมาจากb + c + b:cหรือb*cย่อ (R ตามสัญกรณ์ของ Wilkinson สำหรับแบบจำลองทางสถิติ) การปรับเชิงเส้นทั่วไปรุ่น (เช่นฟังก์ชั่นการเชื่อมโยงที่ไม่ได้เป็นตัวตนเป็นกรณีที่สำหรับรูปแบบเชิงเส้นแสดงด้านบน) glm()มีการร้องขอผ่าน
chl

คำตอบ:


24

Linear หมายถึงความสัมพันธ์ระหว่างพารามิเตอร์ที่คุณกำลังประเมิน (เช่น ) และผลลัพธ์ (เช่น ) ดังนั้นเป็นแบบเชิงเส้น แต่ไม่ได้ รูปแบบเชิงเส้นหมายความว่าประมาณการของคุณของเวกเตอร์พารามิเตอร์ของคุณสามารถเขียนβ = Σ ฉันW ฉันY ฉันที่{ W ฉัน }มีน้ำหนักที่กำหนดโดยขั้นตอนการประมาณค่าของคุณ โมเดลเชิงเส้นสามารถแก้ไขได้พีชคณิตในรูปแบบปิดในขณะที่รุ่นที่ไม่ใช่เชิงเส้นจำนวนมากจำเป็นต้องแก้ไขโดยการเพิ่มประสิทธิภาพเชิงตัวเลขโดยใช้คอมพิวเตอร์y i y = e x β + ϵ y = e β x + ϵβyiy=exβ+ϵy=eβx+ϵβ^=iwiyi{wi}


6
+1 โดยเฉพาะใน "ตัวแบบเชิงเส้น" ตัวแปรที่ขึ้นต่อกันเป็นฟังก์ชันเชิงเส้นของพารามิเตอร์แต่ไม่จำเป็นต้องใช้ข้อมูล y
whuber

เส้นที่หนึ่งเป็นเส้นตรงหรือไม่ จริง ๆ แล้วพลังแห่ง x หรือเปล่า?
suprvisr

2
ใช่เพราะไม่ได้เป็นปริมาณที่น่าสนใจ (คนที่คุณเพิ่มประสิทธิภาพสำหรับ) แต่แทนที่จะβคือ ดังนั้นจึงเป็นเชิงเส้นในβ xββ
bayerj

+1 แต่คำตอบนี้สามารถปรับปรุงได้โดยการแสดงความคิดเห็นต่อสูตรในคำถาม
naught101

1
ฉันสังเกตว่าเมื่ออ่านครั้งที่สองว่าครึ่งหลังของคำตอบนี้ทำให้เกิดความสับสน "ตัวแบบเชิงเส้น" กับ "ตัวประมาณแบบเชิงเส้น" แนวคิดทั้งสองแยกจากกันและแตกต่างกัน แบบจำลองเชิงเส้นมักมีตัวประมาณแบบเชิงเส้นและตัวแบบเชิงเส้นสามารถมีตัวประมาณแบบไม่เชิงเส้น (ตัวอย่างเช่น GLMs เป็นต้น)
whuber

5

โพสต์นี้ที่ minitab.comให้คำอธิบายที่ชัดเจนมาก:

  • แบบจำลองเป็นแบบเชิงเส้นเมื่อสามารถเขียนในรูปแบบนี้:
    • Response = constant + parameter * predictor + ... + parameter * predictor
      • นั่นคือเมื่อแต่ละคำ (ในรูปแบบ) เป็นค่าคงที่หรือผลิตภัณฑ์ของพารามิเตอร์และตัวแปรตัวทำนาย
    • ดังนั้นทั้งสองนี้คือโมเดลเชิงเส้น:
      • (นี่คือเส้นตรง)Y=B0+B1X1
      • (นี่คือเส้นโค้ง)Y=B0+B1X12
  • หากโมเดลไม่สามารถแสดงได้โดยใช้รูปแบบข้างต้นแสดงว่าไม่ใช่แบบเชิงเส้น
    • ตัวอย่างของโมเดลที่ไม่ใช่เชิงเส้น:
      • X B 1 1Y=B0+X1B1
      • Y=B0cos(B1X1)

4

ฉันจะระมัดระวังในการถามคำถามนี้เป็นคำถาม "R การถดถอยเชิงเส้นตรง" กับคำถาม "การถดถอยเชิงเส้น" สูตรใน R มีกฎที่คุณอาจทราบหรือไม่เห็น ตัวอย่างเช่น:

http://wiener.math.csi.cuny.edu/st/stRmanual/ModelFormula.html

สมมติว่าคุณถามว่าสมการต่อไปนี้เป็นเชิงเส้นหรือไม่:

a = coeff0 + (coeff1 * b) + (coeff2 * c) + (coeff3 * (b*c))

คำตอบคือใช่ถ้าคุณรวบรวมตัวแปรอิสระใหม่เช่น:

newv = b * c

การแทนที่สมการ newv ข้างต้นเป็นสมการเดิมอาจดูเหมือนสิ่งที่คุณคาดหวังสำหรับสมการเชิงเส้น:

a = coeff0 + (coeff1 * b) + (coeff2 * c) + (coeff3 * newv)

เท่าที่การอ้างอิงดำเนินไป Google "r regression" หรืออะไรก็ตามที่คุณคิดว่าอาจใช้ได้ผลสำหรับคุณ


การเปลี่ยนชื่อบางอย่างทำให้เป็นเส้นตรงอย่างไร ฉันไม่เข้าใจถ้าตัวตน newv = b * c เก็บไว้มันไม่เชิงเส้นเลย ฉันสับสน.
bayerj

@bayer: newv เป็นตัวแปรใหม่ สมการใหม่เป็นฟังก์ชันเชิงเส้นของตัวแปรสามตัว (b, c, newv) ซึ่งค่าสัมประสิทธิ์จัดให้มีความสัมพันธ์เชิงเส้น สมการทั้งสองนั้นเป็นการรวมกันเชิงเส้นของตัวแปรเพียงสองตัว
bill_080

@bayer ดูการตอบกลับโดย @Charlie ในตัวอย่างปัจจุบันทั้งสองโมเดลเป็นแบบเชิงเส้น (ไม่ว่า R จะเป็นเช่นนั้นหรือไม่ก็ตาม) เพราะทั้งคู่aเป็นฟังก์ชันเชิงเส้นของสัมประสิทธิ์ทั้งสี่
whuber

ขอบคุณมันทำให้รู้สึก ... ฉันสามารถเพิ่มตัวแปรใหม่ neww เป็น b * c สำหรับแต่ละกรณีในฐานข้อมูล (ทางการแพทย์) และจากนั้นถือว่าเป็นถดถอยเชิงเส้น?
suprvisr

2

คุณสามารถเขียนสมการถดถอยเชิงเส้นเป็นสมการเมทริกซ์เชิงเส้น

[a1a2a3a4a5...an]=[b1c1b1c1b2c2b2c2b3c3b3c3b4c4b4c4b5c5b5c5...bncnbncn]×[αbαcαbc]+[ϵ1ϵ2ϵ3ϵ4ϵ5...ϵn]

หรือถ้าคุณยุบ:

a=αbb+αcc+αbcbc+ϵ

bcbca

abcbc


y=aect+bedty=u(ec(tv)+ed(tv))ab


ฉันรู้สึกว่านี่เป็นคำตอบที่ดีที่สุดเพราะตอบคำถามทำไมแทนที่จะเป็นแค่อะไร การตอบด้วย "อะไร" จะไม่นำไปสู่สัญชาตญาณที่ดีกว่า
Hexatonic
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.