การติดตั้งแบบจำลองเลขชี้กำลังเข้ากับข้อมูล


21

ฉันมี 2 ตัวแปรทั้งจากคลาส "numeric":

> head(y)
[1] 0.4651804 0.6185849 0.3766175 0.5489810 0.3695258 0.4002567

> head(x)
[1] 59.32820 68.46436 80.76974 132.90824 216.75995 153.25551

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


6
นี่เป็นความสับสนเล็กน้อย คุณบอกว่าคุณมีตัวแปร "อิสระ" สองตัว (ฉันชอบ "ตัวทำนาย" แต่นั่นไม่สำคัญเลย) คุณมีตัวแปร "พึ่งพา" / "การตอบสนอง" ใด ๆ หากสิ่งเหล่านี้เป็นตัวแปรตอบสนองทั้งสองฉันสามารถนึกภาพการกระจายความน่าจะเป็นแบบพารามิเตอร์ตัวแปรสองตัวแปร (โดยมีหรือไม่มีตัวแปรตัวทำนายที่พารามิเตอร์การกระจายขึ้นอยู่กับ) - หรือการประมาณความหนาแน่นของเคอร์เนล 2 มิติ บางทีคุณสามารถอธิบายบริบทได้อีกเล็กน้อย (PS ใครก็ตามที่ upvoting คำถามที่จะต้องรู้ว่ามันหมายถึง ... การดูแลทุกคนที่จะตีระฆังใน?)
เบน Bolker

ไม่ว่าในกรณีใดคุณควรไปที่crossvalidated.comสำหรับคำถามดังกล่าว หรือไปยังเว็บไซต์ที่คลุมเครือที่เรียกว่า Google มันหาข้อมูลเกี่ยวกับตัวแบบที่เหมาะสมกับข้อมูลหลายตัวแปร ค่อนข้างมาก (4 ล้านสองแสนสามหมื่นเป็นที่แน่นอน)
Joris Meys

ฉันขอแนะนำ bing - มันเป็นเครื่องมือในการตัดสินใจท้ายที่สุดแล้วเสิร์ชเอ็นจิ้นก็เป็นเช่นนั้นในศตวรรษที่ 20 ... เพียงแค่ดูที่ Yahoo และถาม Jeeves วันนี้พวกเขาไม่เกี่ยวข้องกันอย่างไร?!?
Chase

@Ben Bolker - ขอบคุณสำหรับความช่วยเหลือฉันได้แยกออกอิสระทำให้ไม่ถูกต้อง สิ่งที่ฉันมีคือระยะห่างระหว่างตำแหน่งที่ตั้ง (x) และสหสัมพันธ์ของปริมาณน้ำฝนระหว่างตำแหน่งที่ตั้ง (y)

โปรดทราบว่าคุณจะต้องใช้วิธีการพิเศษหากคุณต้องการทำการอนุมานเชิงสถิติเกี่ยวกับข้อมูลเหล่านี้เพราะหากคำนวณระยะทางในกลุ่มสถานที่ทั่วไปพวกเขาจะไม่เป็นอิสระเช่นค้นหา "Mantel test"
Ben Bolker

คำตอบ:


20

ฉันไม่แน่ใจว่าสิ่งที่คุณถามอย่างสมบูรณ์เพราะศัพท์แสงของคุณปิดอยู่ แต่สมมติว่าตัวแปรของคุณไม่ได้เป็นอิสระจากกัน (ถ้าเป็นเช่นนั้นพวกเขาจะไม่มีส่วนเกี่ยวข้องในการค้นหา) ฉันจะลองดู หากxเป็นตัวแปรอิสระ (หรือตัวทำนาย) yของคุณและเป็นตัวแปรขึ้นอยู่กับ (หรือการตอบสนอง) ของคุณสิ่งนี้ควรใช้งานได้

# generate data
beta <- 0.05
n <- 100
temp <- data.frame(y = exp(beta * seq(n)) + rnorm(n), x = seq(n))

# plot data
plot(temp$x, temp$y)

# fit non-linear model
mod <- nls(y ~ exp(a + b * x), data = temp, start = list(a = 0, b = 0))

# add fitted curve
lines(temp$x, predict(mod, list(x = temp$x)))

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

@sbg - ไม่ขอโทษฉันคิดไม่ออกว่าทำไม ไม่nls()เหมาะสมกับรูปแบบหรือไม่?
Richard Herron

ฉันคิดว่าอย่างนั้นฉันจะได้รับ: แบบจำลองการถดถอยแบบไม่เชิงเส้น: y ~ exp (a + b * x) ข้อมูล: DF ab -0.535834 -0.002024 ผลรวมสี่เหลี่ยมจัตุรัสที่เหลือ: 18.62 จำนวนการวนซ้ำเพื่อลู่เข้า: 6 e-06

3
@sbg ลองจัดเรียงxตัวแปรของคุณ:lines(sort(temp$x),predict(mod, list(x=sort(temp$x)))
Ben Bolker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.