จะจัดกลุ่มตัวแปรตามยาวได้อย่างไร


10

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

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

หวังว่าจะมีแนวคิดบางอย่างที่นี่และโปรแกรมที่คอมไพล์เช่น SAS หรือ R สามารถประมวลผลได้ ข้อเสนอแนะใด ๆ ที่ชื่นชม !!


นี่คือตัวอย่างสั้น ๆ (ขออภัยสำหรับตำแหน่งที่ไม่สอดคล้องกันระหว่างข้อมูลและชื่อตัวแปร):

id time   V1  V2   V3   V4   V5   V6   V7   V8   V9   V10
2    0    8    7    3    7    6    6    0    0    5    2
2    1    3    5    2    6    5    5    1    1    4    2
2    2    2    3    2    4    4    2    0    0    2    2
2    3    6    4    2    5    3    2    1    2    3    3
2    4    5    3    4    4    3    3    4    3    3    3   
2    5    6    4    5    5    6    3    3    2    2    2
2    6    7    5    2    4    4    3    3    4    4    5
2    7    7    7    2    6    4    4    0    0    4    3
4    0   10    7    0    2    2    6    7    7    0    9
4    1    8    7    0    0    0    9    3    3    7    8
4    2    8    7    0    0    0    9    3    3    7    8
4    3    8    7    0    0    0    9    3    3    7    8
4    4    5    7    0    0    0    9    3    3    7    8
4    5    5    7    0    0    0    9    3    3    7    8
4    6    5    7    0    0    0    9    3    3    7    8
4    7    5    7    0    0    0    9    3    3    7    8
5    0    9    6    1    3    2    2    2    3    3    5
5    1    7    3    1    3    1    3    2    2    1    3
5    2    6    4    0    4    2    4    2    1    2    4
5    3    6    3    2    3    2    3    3    1    3    4
5    4    8    6    0    5    3    3    2    2    3    4
5    5    9    6    0    4    3    3    2    3    2    5
5    6    8    6    0    4    3    3    2    3    2    5
5    7    8    6    0    4    3    3    2    3    2    5

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

หากต้องการ rosser: ฉันได้เพิ่มส่วนหนึ่งของข้อมูล ดังที่คุณกล่าวถึงการวัดซ้ำ: ผู้ป่วยแต่ละราย (ID) มี 10 การวัด (V1 ~ V10) ยาวนานหลายวัน (วัน 0 ~ วัน 7)
cchien

คำตอบ:


5

ในHmiscแพ็คเกจR ดูไฟล์ช่วยเหลือสำหรับcurveRepฟังก์ชั่นซึ่งหมายถึง "เส้นโค้งตัวแทน" curveRepกลุ่มที่มีรูปร่างโค้งตำแหน่งและรูปแบบของจุดเวลาที่ขาดหายไป


ขอบคุณสำหรับคำแนะนำ. มันฟังดูเป็นไปได้ ฉันจะอ่านคู่มือทันที
cchien

ตรงไปตรงมา ตัวอย่างในคู่มือดูเหมือนจะไม่ทำงาน มีการพิมพ์ผิดหรือเปล่า? ฉันต้องการเรียกใช้ตัวอย่างเพื่อให้ได้ความรู้สึก นี่คือรหัส: set.seed (1) N <- 200 nc <- ตัวอย่าง (1:10, N, TRUE) id <- ตัวแทน (1: N, nc) x <- y <- id สำหรับ (i ใน 1: N) {x [id == i] <- ถ้า (iy [id == i] <- i + 10 * (x [id == i] - .5) + runif (nc [i], - - 10, 10)}
B_Miner

1
อ๊ะ ฉันลืมว่าต้องลงชื่อเปอร์เซ็นต์ในไฟล์วิธีใช้ R เพื่อให้สามารถหลีกหนีได้ สิ่งนี้ทำให้บรรทัดในตัวอย่างถูกตัดทอน แทนที่บรรทัดที่ไม่สมบูรณ์ด้วย: x[id==i] <- if(i %% 2) runif(nc[i]) else runif(nc[i], c(.25, .75))
Frank Harrell

ฉันไม่แน่ใจว่า "p: จำนวนคะแนนที่จะประเมินแต่ละโค้งสำหรับการรวมกลุ่ม" หมายถึงใน curveRep (x, y, id, kxdist = 2, p = 10)
greg121

1
p>3p=10p

5

ฉันไม่แน่ใจว่าเป็นสิ่งที่คุณกำลังมองหา แต่แพ็คเกจkmlใน R ใช้ k-mean เพื่อจัดกลุ่มลำดับของมาตรการซ้ำ ๆ นี่คือลิงค์ไปยังหน้าบรรจุภัณฑ์และลงกระดาษ (น่าเสียดายที่มันเป็นรั้วรอบขอบชิด) ใช้งานได้ดีถ้าคุณมีชุดข้อมูลที่ค่อนข้างเล็ก (ไม่กี่ร้อยลำดับ)

นี่เป็นกระดาษที่ไม่มีการแบ่งขอบ (ไม่มีปัญหาในการอ้างอิง): http://christophe.genolini.free.fr/recherche/aTelecharger/genolini2011.pdf


ฉันได้ตรวจสอบวิธีการนี้จริงๆก่อนโพสต์คำถามนี้ ฉันคิดว่าวิธี kml เป็นวิธีจัดกลุ่มเพื่อจัดกลุ่มบุคคลจากตัวอย่างบางส่วนของเอกสารต้นฉบับ ฉันจะดูอีกครั้ง ขอบคุณ !!
cchien

@ ccchien ใช่พวกเขาใช้มันเพื่อจัดกลุ่มวิถีแต่ละเส้นด้วยกัน แต่คุณอาจคิดว่าคุณมีวิถีสิบประการต่อบุคคล (หนึ่งสำหรับแต่ละตัวแปรของคุณ) คุณอาจต้องทำให้ตัวแปรของคุณเป็นปกติเพื่อให้ขั้นตอน kml ทำงานได้อย่างถูกต้อง ปัญหาคือว่าเท่าที่ฉันรู้ไม่มีทางบอก kml ว่าวิถีของคุณซ้อนกันในแต่ละบุคคล ดังนั้นจึงอาจไม่เหมาะกับสิ่งที่คุณพยายามทำ
Antoine Vernet

@ greg121 ขอขอบคุณสำหรับการเชื่อมโยงไปยังกระดาษรุ่นที่มีอยู่อย่างอิสระ ดูเหมือนว่าการอ้างอิงในข้อความได้ถูกทิ้งไปแล้วบางทีไฟล์ Latex ควรจะคอมไพล์ใหม่อีกครั้ง (รายการอ้างอิงจะอยู่ที่นั่น)
แอนทอนแวร์เนต์

@AntoineVernet ใช่คุณพูดถูก แต่ฉันไม่พบรุ่นอื่น
greg121

4

ดังนั้นคุณมีหน้าตัวแปรวัดแต่ละทีครั้งเดียวnบุคคล วิธีหนึ่งที่จะดำเนินการคือการคำนวณเมทริกซ์ความคล้ายคลึงกันของt pXp (dis) และใช้การปรับมาตราส่วนแบบ Multidimentional INDSCAL มันจะให้แผนที่สองมิติต่ำ (พูดถึง 2 มิติ) แผนที่แรกแสดงพิกัดของตัวแปรpในพื้นที่ของมิติและแสดงการจัดกลุ่มในหมู่พวกเขาหากมี ที่สองแผนที่แสดงน้ำหนัก (ความสำคัญเช่นหรือนูน) ของมิติในเมทริกซ์ของแต่ละที

ป้อนคำอธิบายรูปภาพที่นี่


ฉันยังมีความคิดในการแปลง n-dimension เป็น 2 มิติ แต่เพียงแค่ไม่มีความคิดเกี่ยวกับวิธีการเฉพาะที่สามารถทำได้ ตอนนี้ฉันพบว่า SAS อาจมีโพรซีเดอร์สามารถใช้งานได้ ฉันจะเรียนรู้เพื่อดูความพร้อมใช้งานเมื่อใช้ข้อมูลของฉัน
cchien

วิธีที่ดีที่สุดในการตีความน้ำหนักคืออะไร
Ming K

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