ฉันระบุโมเดลของฉันอย่างถูกต้องหรือไม่?


26

ฉันได้กำจัดเว็บไซต์ช่วยเหลือจำนวนมากและยังคงสับสนเกี่ยวกับวิธีระบุคำซ้อนที่ซับซ้อนมากขึ้นในรูปแบบผสมเช่นกัน นอกจากนี้ผมยังสับสนกับการใช้งานของ:และ/และ|ในการระบุการมีปฏิสัมพันธ์และทำรังที่มีปัจจัยสุ่มใช้lmer()ในแพคเกจในlme4R

สำหรับจุดประสงค์ของคำถามนี้สมมติว่าฉันได้แสดงข้อมูลของฉันอย่างถูกต้องด้วยโมเดลสถิติมาตรฐานนี้: ได้รับการแก้ไขและเป็นแบบสุ่ม เป็น (โดยปริยาย) ซ้อนกันภายใน

YผมJk=ยู+สถานีผม+พ่วงJ(ผม)+วันk+(สถานี×วัน)ผมk+(พ่วง×วัน)J(ผม)k
stationtowdayTowstation

ฉันหวังว่าแบบจำลองของฉันจะรวม Station (i, fixed), Tow (j, random, ซ้อนกันโดยนัยภายใน Station), วัน (k, random) และปฏิสัมพันธ์ระหว่าง Tow และ Day และปฏิสัมพันธ์ระหว่าง Day และสถานี ฉันได้ปรึกษากับนักสถิติเพื่อสร้างแบบจำลองของฉันและในเวลานี้เชื่อว่ามันจะเป็นตัวแทนของข้อมูลของฉัน แต่จะเพิ่มคำอธิบายข้อมูลของฉันสำหรับผู้ที่สนใจที่ด้านล่างของโพสต์เพื่อไม่ให้ยุ่งเหยิง

จนถึงตอนนี้ที่ฉันสามารถต่อกรด้วยกันได้ดังต่อไปนี้lmerคือ:

lmer(y ~ station + (1|station:tow) + (1|Day) + (1|station:day) + (1|tow:day), 
     data=my.data)

สิ่งนี้อธิบายโมเดลทางสถิติของฉันถูกต้องหรือไม่ คำแนะนำสำหรับวิธีการปรับปรุงรหัสของฉันหากอ่านไม่ถูกต้อง?

ฉันกล้าใช้คำเฉพาะฉันมีปัญหาในการระบุในสูตร lmer ของฉัน

# 1 พ่วงซ้อนกันภายในสถานีเมื่อลากเป็นแบบสุ่มและสถานีได้รับการแก้ไข
ฉันสับสน แต่เกี่ยวกับความแตกต่างระหว่างคำที่ซ้อนกันและการมีปฏิสัมพันธ์ที่มีการสุ่มโดยใช้และ: /ในตัวอย่างด้านบนของฉันฉันมี(1|station:tow)ที่ฉันหวังว่าจะอ่านใยซ้อนกันภายในสถานี ฉันได้อ่านความคิดเห็นที่ขัดแย้งกันในเว็บไซต์ต่างๆหรือไม่ว่าฉันควรจะใช้:หรือ/ที่นี่ภายในสุ่มรูปแบบของ (1|...)lmer

# 2 การโต้ตอบระหว่างสถานีกับวันที่สถานีได้รับการแก้ไขและวันนั้นเป็นแบบสุ่ม
ฉันมี(1|station:day)แต่คราวนี้ฉันหวังว่ามันจะอ่านการโต้ตอบระหว่างสถานีและวัน ดูเหมือนว่าฉันสามารถใช้สถานี * วันเพื่ออธิบายผลกระทบของแต่ละสถานีและวันรวมถึงปฏิสัมพันธ์ของพวกเขา (แทนที่จะรวมคำทั้งสามคำแยกจากกันตามที่ฉันทำด้านบน) แต่ฉันไม่เห็นวิธีการระบุสิ่งนี้ เมื่อหนึ่งได้รับการแก้ไขและอื่น ๆ ที่เป็นแบบสุ่ม จะstation*(1|day)ทำเช่นนั้น?

# 3 การทำงานร่วมกันระหว่างพ่วงและวัน (ทั้งสองแบบสุ่ม) เมื่อพ่วงถูกซ้อนอยู่ในสถานี (คงที่) สุดท้ายนี้ฉันมี(1|tow:day)สิ่งที่ฉันหวังว่าจะอ่านการโต้ตอบของtowและdayแต่ฉันสงสัยว่าฉันต้องระบุอีกครั้งว่าพ่วงถูกซ้อนอยู่ (โดยนัย) ในสถานี?

ฉันยังใหม่กับทั้งRและlmerและการสร้างแบบจำลองทางสถิติและขอขอบคุณอย่างมากปัญหาในการอธิบายอย่างละเอียดในการตอบคำถามใด ๆ ของฉันถ้าเป็นไปได้

รายละเอียดเพิ่มเติมเกี่ยวกับข้อมูลของฉัน: ฉันกำลังถามว่าความเข้มข้นของแพลงก์ตอนแตกต่างกันไปตามด้านหน้าทางกายภาพในมหาสมุทรใกล้ชายฝั่งหรือไม่ ฉันมีสามสถานี inshore ภายในและ offshore ของด้านหน้านี้ สถานีจึงได้รับการแก้ไข ในแต่ละสถานีฉันใช้เวลาลากแพลงก์ตอนซ้ำสามครั้ง (ซึ่งฉันเรียงลำดับนับและได้รับความเข้มข้นในแง่ของจำนวนข้อบกพร่องต่อจำนวนลูกบาศก์เมตรของน้ำ) โต๋เป็นแบบสุ่ม: ในสามลูกพ่วงฉันหวังว่าจะอธิบายความแปรปรวนทั่วไปในแพลงก์ตอนที่สถานีนั้น การพ่วงนั้นซ้อนอยู่ภายในสถานีเนื่องจากแต่ละพ่วงไม่มี ID ที่ไม่ซ้ำกัน (123,123,123 เป็น ID สำหรับพ่วงที่แต่ละสถานี) จากนั้นฉันทำสิ่งนี้ในหลายวันเป็นอิสระด้วยแนวหน้าใหม่ที่ก่อตัวขึ้น ฉันคิดว่าฉันสามารถคิดว่าวันเป็นปัจจัยปิดกั้นได้หรือไม่ วันจะสุ่มเมื่อทำซ้ำในหลายวันอิสระหน้าพยายามที่จะจับภาพความแปรปรวนในแต่ละวันและเป็นตัวแทนของทุกวันที่หน้านี้มีอยู่ ฉันต้องการทราบเกี่ยวกับเงื่อนไขการทำงานร่วมกันเพื่อดูว่า Tows เปลี่ยนแปลงความผันแปรในแต่ละวันหรือไม่และหากสถานีให้ข้อมูลที่คล้ายกันอยู่เสมอ

ขอขอบคุณสำหรับเวลาของคุณและช่วยฉันขอขอบคุณ!


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

1
FWIW สำหรับทุกคนที่เจอหัวข้อนี้และสงสัยว่ามันอยู่ในหัวข้อหรือไม่เนื่องจากมันมุ่งเน้นไปที่Rไวยากรณ์ IMO มันเป็นสถิติที่เพียงพอ (wrt เข้าใจว่าโมเดลที่ระบุเกี่ยวข้องกับการซ้อน & การโต้ตอบ ฯลฯ ) อย่างไรในหัวข้อ สำหรับประวัติย่อ
gung - Reinstate Monica

1
นี่คือ 100% ในหัวข้อในความคิดของฉัน

8
หัวข้อเหล่านี้อาจเป็นประโยชน์: 1 แผ่นโกง lmer ของ ; 2 ตีความ "รูปแบบผสม" สามรูปแบบ ; 3 คำถามเกี่ยวกับวิธีระบุเอฟเฟกต์แบบสุ่มใน mer ; 4 คำถามที่เกี่ยวกับการระบุเชิงเส้นหลากหลายรูปแบบในการวิจัยสำหรับการทำซ้ำข้อมูลมาตรการที่มีโครงสร้างการทำรังเพิ่มเติม (อย่างไรก็ตามฉันคิดว่านี่ชัดเจนพอที่จะไม่ซ้ำซ้อนกัน)
gung - Reinstate Monica

2
ตามที่คุณlmer()ไวยากรณ์คุณได้ระบุรูปแบบที่มีผลคงที่stationและสี่ดักสุ่มที่ใช้ร่วมกันโดยบุคคลเดียวกับที่ (1) การรวมกันของstationและtow(2) ค่าของDay(3) การรวมกันของstationและdayและ ( 4) การรวมกันของtowและdayตามลำดับ นี่คือสิ่งที่คุณตั้งใจหรือไม่ ฉันไม่แน่ใจเพราะ @BabekP ดังที่ระบุไว้ว่าวิธีการเขียนสูตรแบบจำลองของคุณไม่ชัดเจน คุณเขียนชื่อตัวแปรไม่ใช่พารามิเตอร์ ตามปกติในโมเดลเช่นนี้การรวมตัวแปรจะถูกจับโดยตัวห้อย
มาโคร

คำตอบ:


23

ลากเข้าหากันภายในสถานีเมื่อพ่วงเป็นแบบสุ่มและสถานีได้รับการแก้ไข

station+(1|station:tow)ถูกต้อง. ดังที่ @John กล่าวไว้ในคำตอบเขา(1|station/tow)จะขยายไปที่(1|station)+(1|station:tow)(เอฟเฟกต์หลักของสเตชั่นรวมถึงการโต้ตอบระหว่างพ่วงและสเตชัน) ซึ่งคุณไม่ต้องการเพราะคุณได้ระบุสเตชั่นเป็นเอฟเฟกต์ถาวรแล้ว

การโต้ตอบระหว่างสถานีกับวันที่สถานีได้รับการแก้ไขและวันจะถูกสุ่ม

การโต้ตอบระหว่างเอฟเฟกต์แบบคงที่และแบบสุ่มนั้นจะเป็นการสุ่มเสมอ @John กล่าวอีกครั้งว่าstation*dayขยายstation+day+station:dayซึ่งคุณ (อีกครั้ง) ไม่ต้องการเพราะคุณได้ระบุไว้ dayในแบบจำลองของคุณแล้ว ฉันไม่คิดว่ามีวิธีที่จะทำในสิ่งที่คุณต้องการและยุบผลกระทบข้ามของday(สุ่ม) และstation(คงที่) แต่คุณสามารถทำได้ถ้าคุณอยากเขียนซึ่งตามที่ระบุไว้ในคำตอบก่อนหน้าจะขยายตัวออกไปstation+(1|day/station)station + (1|day) + (1|day:station)

การทำงานร่วมกันระหว่างพ่วงและวันเมื่อพ่วงถูกซ้อนอยู่ในสถานี

เพราะคุณไม่ได้มีค่าที่ไม่ซ้ำของtowตัวแปร (คือเพราะคุณบอกว่าด้านล่างลูกมือที่ระบุไว้เป็น1, 2, 3ทุกสถานีที่คุณทำจะต้องระบุการทำรังที่เป็น(1|station:tow:day). หากคุณไม่ได้มีลูกมือที่ระบุไม่ซ้ำกันคุณสามารถใช้อย่างใดอย่างหนึ่ง(1|tow:day)หรือ(1|station:tow:day)(พวกเขาควรให้คำตอบที่เทียบเท่า) หากคุณไม่ได้ระบุการซ้อนในกรณีนี้lme4จะพยายามประเมินผลแบบสุ่มที่แชร์โดยพ่วงหมายเลข 1 ที่ทุกสถานี ...

station:tow:day××

มีhttp://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#model-specificationและhttp://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#nested-or-crossedประโยชน์กับคุณ?


ขอบคุณมากสำหรับการตอบกลับและการอ้างอิงที่เป็นประโยชน์พวกเขาชื่นชมมาก ฉันสับสนเกี่ยวกับสัญกรณ์ (1 | a: b) ตามที่คุณอธิบายข้างต้นซึ่งปรากฏว่า ':' อาจหมายถึง "ซ้อนใน" เช่นเดียวกับการมีปฏิสัมพันธ์ จะระบุได้อย่างไร? กล่าวอีกนัยหนึ่ง lmer รู้จักความสัมพันธ์ที่คุณระบุได้อย่างไร ฉันต้องคิดถึงบางสิ่งบางอย่างพื้นฐานที่นี่ฉันขอโทษ
wtree

4
ในบริบทนี้มีความแตกต่างกันไม่มากนักระหว่างการโต้ตอบและการซ้อนกัน ไม่ว่าBจะซ้อนอยู่ในAหรือเพียงแค่โต้ตอบกับมันขึ้นอยู่กับว่าผลกระทบหลักของการAรวมอยู่ในรูปแบบหรือไม่ หากผลกระทบหลักของBเป็นยังในรูปแบบแล้วก็ข้าม ...
เบน Bolker

สวัสดีทุกคนฉันถามคำถามที่เกี่ยวข้องที่นี่: stats.stackexchange.com/questions/272377/ถ้าใคร (โดยเฉพาะ @BenBolker) มีโอกาสมองหาและให้คำตอบ
Joshua Rosenberg

11

บางสิ่งในสูตรนั้นค่อนข้างสับสน สิ่ง:นี้มีไว้สำหรับการโต้ตอบระหว่างสองคำในขณะที่สิ่ง*นั้นมีไว้สำหรับเอฟเฟ็กต์หลักและการโต้ตอบ /เป็นอีกสิ่งหนึ่งสำหรับการติดต่อ แต่สิ่งที่มันไม่สามารถสร้างปฏิสัมพันธ์ระหว่างเศษและทุกคำในส่วน (เช่นA/(B+C) = A:B + A:C) |สำหรับสิ่งที่ต้องการ "โดยไม่มีเงื่อนไข" ดังนั้นจะมีการสกัดกั้นกลุ่มตามสถานีและในวงเล็บมันเป็นแบบสุ่ม1|station (1|station)นั่นเป็นวิธีที่คุณจะทำรัง

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

การมุ่งเน้นไปที่คำอธิบายของคุณในย่อหน้าสุดท้ายของคุณดูเหมือนว่าพ่วงของคุณเป็นเพียงตัวบ่งชี้ตัวอย่างที่คุณรวบรวมมาและไม่ใช่สิ่งที่คุณต้องการโดยประมาณในแง่ที่ว่าคุณคาดว่าพ่วง 1 จะแตกต่างจากพ่วง 2 อย่างใดอย่างหนึ่ง โต๋เป็นเพียงการแสดงตัวอย่าง ถ้าคุณไม่เชื่อคำสั่งของพ่วงที่มีความสำคัญคุณไม่ต้องกังวลกับตัวแปรนั้น และหากพวกเขามีความสำคัญก็เป็นผลคงที่ (และอาจสุ่ม แต่ไม่ได้ผลแบบสุ่มเท่านั้น) คุณบอกว่าคุณต้องการที่จะรู้ว่าใยแก้วนำแสงเปลี่ยนแปลงในความผันแปรในแต่ละวัน แล้วคำตอบคือใช่ มันไม่ได้อยู่ในขอบเขตของความน่าจะเป็นจริงที่พวกเขาไม่ได้เปลี่ยนแปลงในแต่ละวัน มันเป็นเพียงความแปรปรวนของมาตรการของคุณ คุณ' ไม่ได้รับอนุญาตให้ลองพิจารณาความแปรปรวนทุกประการเพราะคุณจะได้พบว่าไม่มีความแปรปรวนเหลืออยู่สำหรับความผิดพลาด คุณมีรูปแบบที่เฉพาะเจาะจงมากเกินไป คุณอยู่ที่จุดของการรายงานแต่ละการวัด

คุณสร้างข้อความคล้ายกันเกี่ยวกับการสงสัยว่าสถานีแตกต่างกันไปตามวันหรือไม่ แน่นอนมันไม่ แต่คุณอาจหมายถึงวันที่เฉพาะเจาะจง วันที่จัดกลุ่มอย่างใดอย่างหนึ่งตามฤดูกาลวงจรจันทรคติ ฯลฯ ? ยกเว้นว่าคุณมีสิ่งอื่นนอกเหนือจากที่นี่คือวันที่ 1 นี่คือวันที่ 2 ฯลฯ การรู้ได้อย่างไรว่าสถานีแตกต่างกันไปในแต่ละวันจะบอกอะไรคุณนอกเหนือจากสถานีที่แตกต่างกันอย่างไร ดังนั้นคำตอบสำหรับคำถามนั้นคือแน่นอนว่าสถานีต่างกันไปในแต่ละวัน และแน่นอนว่าการลากนั้นแตกต่างกันไปในแต่ละวันและแต่ละสถานี จบลงด้วยการเป็นนางแบบง่าย ๆ :

aov(y ~ station, data = dat)

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

หากคุณต้องการสุ่มตัวอย่างแบบลากจูงวันและพ่วงและมีข้อมูลที่คุณไม่ได้ระบุไว้ที่นี่คุณอาจขยายออกเป็นรุ่นหลายระดับ นั่นจะเป็น:

lmer(y ~ station + (two*day|station), data = dat)

คุณต้องพ่วงหลายครั้งในแต่ละสถานีและวันเพื่อใช้โมเดลนั้น


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

@ John ฉันอยู่กับคุณจนกระทั่ง "นั่นเป็นวิธีที่คุณทำรัง" ฉันคิดว่าฉันพลาดจุดที่แท้จริงของวิธีการทำรัง คุณยินดีที่จะอธิบายรายละเอียดเพิ่มเติมหรือไม่? ฉันคิดว่าฉันยังสับสนกับ | และจะดูมากขึ้น แต่จากคำตอบของคุณฉันยังไม่แน่ใจว่าตัวอย่างเช่นระบุว่าพ่วง (แบบสุ่ม) ซ้อนอยู่ภายในสถานี (แก้ไขแล้ว) หรือไม่
wtree

@John Oh และสถานีได้รับการแก้ไขเป็นไซต์ / สถานที่ที่น่าสนใจในมหาสมุทรและพ่วงเป็นแบบสุ่มเพราะฉันกำลังลากแพลงก์ตอนไปยังไซต์เหล่านี้ซึ่งสุ่มมาว่าพวกเขาพยายามที่จะอธิบายความแปรปรวนของแพลงก์ตอนในแต่ละไซต์แล้ว เพื่อเป็นตัวแทนของประชากรแพลงก์ตอนที่สถานี
wtree

1
ฉลากทุกตัวอย่างไม่ใช่ตัวแปรสุ่มดูการแก้ไข
จอห์น

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