วิธีแก้ไขค่าสัมประสิทธิ์หนึ่งค่าและทำให้พอดีกับค่าอื่น ๆ


11

ฉันต้องการแก้ไขสัมประสิทธิ์บางอย่างด้วยตัวเองพูดแล้วพอดีสัมประสิทธิ์กับตัวทำนายอื่น ๆ ทั้งหมดในขณะที่รักษาβ 1 = 1.0ในโมเดลβ1=1.0β1=1.0

ฉันจะบรรลุสิ่งนี้โดยใช้ R ได้อย่างไร ฉันต้องการทำงานกับ LASSO ( glmnet) โดยเฉพาะอย่างยิ่งถ้าเป็นไปได้

อีกวิธีหนึ่งคือวิธีการที่ฉันสามารถ จำกัด ค่าสัมประสิทธิ์นี้ในช่วงที่เฉพาะเจาะจงบอกว่า ?0.5β11.0


ในการระบุข้อ จำกัด ของกล่องในค่าสัมประสิทธิ์ที่ติดตั้งจะมีอาร์กิวเมนต์ที่ต่ำกว่า จำกัด และ จำกัด บนใน glmnet ใช่ไหม
Tom Wenseleers

คำตอบ:


4

คุณต้องใช้offsetอาร์กิวเมนต์เช่นนี้:

library(glmnet)
x=matrix(rnorm(100*20),100,20)
x1=matrix(rnorm(100),100,1)
y=rnorm(100)
fit1=glmnet(x,y,offset=x1)
fit1$offset
print(fit1)

เกี่ยวกับช่วง ... glmnetฉันไม่คิดว่าได้รับการดำเนินการใน หากพวกเขาใช้วิธีการเชิงตัวเลขคุณอาจต้องการขุดลงไปในรหัส R และพยายาม จำกัด ไว้ที่นั่น แต่คุณจะต้องมีพื้นฐานการเขียนโปรแกรมที่ดี


2
กำลังoffsetทำอะไรอยู่ มูลค่าของการ1.1*x1พิจารณาจากคำถามเป็นอย่างไร
whuber

ฉันอ่านเอกสารสำหรับ 'offset' ใน glmnet และฉันยังไม่แน่ใจว่ามันทำอะไร ฉันไม่พบตัวอย่างที่ยอดเยี่ยมใด ๆ แต่อ้างอิงกระบวนการปัวซงส่วนใหญ่ ทำไมใช้ 1.1 * x1
raco

β1=1.1

ฉันมีความสุขมากกับคำตอบนี้ ฉันสามารถทำซ้ำมากกว่า "สัมประสิทธิ์" ออฟเซ็ตและเปรียบเทียบรุ่นที่แตกต่างกัน ขอบคุณ!
raco

1
offsetglmnetbeta[,ncol(fit1β1=1.0lower.limitsupper limits

9

ลองคิดดู คุณมี:

Y=b0+b1x1+b2x2+e

b1=1

Y=b0+x1+b2x2+e

x1

Ynew=Yx1=b0+b2x2+e

b2


2
นั่นเป็นส่วนที่ง่าย (และได้รับการแก้ไขในกระทู้อื่น ๆ ตามที่ฉันจำได้) สิ่งที่เกี่ยวกับการ จำกัด สัมประสิทธิ์เป็นช่วง? ส่วนที่ยากโดยเฉพาะอย่างยิ่งของปัญหานี้คือการได้รับข้อ จำกัด ความเชื่อมั่นที่ดีเมื่อการประมาณการอยู่บนขอบเขตของภูมิภาคข้อ จำกัด
whuber

2
มันยากกว่านี้แน่ ๆ ฉันพลาดโพสต์สุดท้าย แต่ฉันคิดว่าฉันควรปล่อยให้คำตอบของฉันมันตอบคำถามส่วนหนึ่ง
Peter Flom

β11β1=0.75Ynew=Y.75x1=β0+(β10.75)x1+β2x2+ϵβ1

1
ใช่ถ้าได้รับการแก้ไขที่. 75 แล้วทำสิ่งที่คุณพูดจะใช้งานได้ แต่เป็น @whuber ชี้ให้เห็นว่าเป็นส่วนที่ง่ายของปัญหานี้
Peter Flom

2
@whuber ในกรอบ Bayesian คุณสามารถเข้าสู่ขั้นตอน Metropolis เพื่อโยนสัมประสิทธิ์ใด ๆ ที่อยู่นอกช่วงของคุณหรือคุณสามารถสุ่มตัวอย่างจากการแจกแจงปกติแบบหลายตัวแปรที่ถูกตัดทอน
จอห์น

3

ด้วยความเคารพต่อการ จำกัด สัมประสิทธิ์ให้อยู่ในช่วงวิธีการแบบเบย์ในการประมาณค่าเป็นวิธีหนึ่งในการบรรลุเป้าหมายนี้

โดยเฉพาะอย่างยิ่งใคร ๆ ก็ต้องพึ่งมาร์คอฟเชนมอนติคาร์โล ก่อนอื่นให้พิจารณาอัลกอริทึมการสุ่มตัวอย่างของกิ๊บส์ซึ่งเป็นวิธีที่คุณจะเหมาะสมกับ MCMC ในกรอบเบย์ที่ไม่มีข้อ จำกัด ในการสุ่มตัวอย่างของกิ๊บส์ในแต่ละขั้นตอนของอัลกอริทึมที่คุณสุ่มตัวอย่างจากการแจกแจงด้านหลังของแต่ละพารามิเตอร์ (หรือกลุ่มของพารามิเตอร์) ตามเงื่อนไขของข้อมูลและพารามิเตอร์อื่น ๆ ทั้งหมด Wikipedia ให้บทสรุปที่ดีเกี่ยวกับวิธีการ

วิธีหนึ่งในการ จำกัด ช่วงคือใช้ขั้นตอน Metropolis-Hastings แนวคิดพื้นฐานคือเพียงแค่โยนตัวแปรจำลองใด ๆ ที่อยู่นอกขอบเขตของคุณ จากนั้นคุณสามารถสุ่มตัวอย่างต่อไปจนกว่าจะอยู่ในขอบเขตของคุณก่อนที่จะไปยังการทำซ้ำครั้งถัดไป ข้อเสียของสิ่งนี้คือคุณอาจติดการจำลองหลายครั้งซึ่งทำให้ MCMC ช้าลง วิธีการทางเลือกที่พัฒนาโดยJohn Gewekeในเอกสารไม่กี่ ฉบับและขยายในกระดาษโดยRodriguez-Yam, Davis, Sharpeคือการจำลองจากการแจกแจงปกติหลายตัวแปรแบบ จำกัด วิธีนี้สามารถจัดการกับข้อ จำกัด เชิงเส้นและไม่เชิงเส้นในพารามิเตอร์และฉันประสบความสำเร็จแล้ว


ในการระบุข้อ จำกัด ของกล่องในค่าสัมประสิทธิ์ที่ติดตั้งจะมีอาร์กิวเมนต์ที่ต่ำกว่า จำกัด และ จำกัด บนใน glmnet ใช่ไหม
Tom Wenseleers

@ TomWenseleers ฉันตอบมากกว่าปกติ มองไปที่บางส่วนของคำตอบอื่น ๆ glmnetที่เกี่ยวกับการ
จอห์น

2

ฉันไม่คุ้นเคยกับ LASSO หรือglmnetแต่lavaan(ย่อมาจาก "การวิเคราะห์ตัวแปรแฝง") ช่วยให้แบบจำลองการถดถอยหลายแบบมีทั้งข้อ จำกัด ด้านความเท่าเทียมและข้อ จำกัด ความไม่เท่าเทียมกันแบบขอบเขตเดียว (ดูตารางในหน้า 7 ของPDF นี้ "lavaan: แพ็คเกจ R สำหรับการสร้างแบบจำลองสมการโครงสร้าง " ) ฉันไม่รู้ว่าคุณสามารถมีทั้งขอบเขตบนและล่างบนค่าสัมประสิทธิ์ แต่บางทีคุณสามารถเพิ่มแต่ละขอบเขตด้วยเส้นแยกเช่น:

Coefficient>.49999999
Coefficient<1.0000001

แน่นอนถ้าคุณสร้างมาตรฐานทุกอย่างก่อนที่จะปรับแบบจำลองคุณไม่ควรกังวลเกี่ยวกับการกำหนดขอบเขตบน 1 ของสัมประสิทธิ์การถดถอยของคุณ ฉันว่าคุณดีกว่าถ้าไม่สนใจมันในกรณีนี้ในกรณีที่มีบางอย่างผิดปกติ! ( lavaan คือยังอยู่ในเบต้าหลังจากทั้งหมด ... ผมเคยเห็นผลคาวเล็กน้อยบางอย่างในการใช้งานที่ จำกัด ของตัวเองมันป่านนี้.)


ในการระบุข้อ จำกัด ของกล่องในค่าสัมประสิทธิ์ที่ติดตั้งจะมีอาร์กิวเมนต์ที่ต่ำกว่า จำกัด และ จำกัด บนใน glmnet ใช่ไหม
Tom Wenseleers
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.