วิธีการทำการปรับให้เรียบแบบอ่อนแอใน r (ทีละขั้นตอน)


ในเชิงสถิติ คำว่า lowes หมายถึง “การปรับสมดุลของ point cloud ที่ถ่วงน้ำหนักเฉพาะที่” ซึ่งเป็นกระบวนการสร้างเส้นโค้งที่ราบรื่นซึ่งสอดคล้องกับจุดข้อมูลใน point cloud

หากต้องการปรับให้เรียบในระดับต่ำใน R เราสามารถใช้ฟังก์ชัน lowess() ซึ่งใช้ไวยากรณ์ต่อไปนี้:

ต่ำกว่า (x, y, f = 2/3)

ทอง:

  • x: เวกเตอร์ตัวเลขของค่า x
  • y: เวกเตอร์ตัวเลขของค่า y
  • f: ค่าสำหรับขอบเขตที่ราบรื่นที่สุด นี่จะให้สัดส่วนของจุดในพล็อตที่มีอิทธิพลต่อการปรับให้เรียบในแต่ละค่า ค่าที่สูงขึ้นส่งผลให้มีความราบรื่นมากขึ้น

ตัวอย่างทีละขั้นตอนต่อไปนี้แสดงวิธีดำเนินการปรับให้เรียบแบบอ่อนสำหรับชุดข้อมูลที่กำหนดใน R

ขั้นตอนที่ 1: สร้างข้อมูล

ขั้นแรก เรามาสร้างชุดข้อมูลปลอมกันก่อน:

 df <- data. frame (x=c(1, 1, 2, 2, 3, 4, 6, 6, 7, 8, 10, 11, 11, 12, 13, 14),
y=c(4, 7, 9, 10, 14, 15, 19, 16, 17, 21, 22, 34, 44, 40, 43, 45))

ขั้นตอนที่ 2: ลงจุดข้อมูล

ต่อไป เรามาพล็อตค่า x และ y ของชุดข้อมูล:

 plot(df$x, df$y) 

ขั้นตอนที่ 3: วาดเส้นโค้งขั้นต่ำ

ต่อไป เรามาพล็อตเส้นโค้งที่ปรับให้เรียบที่สุดที่จุดต่างๆ ใน Scatterplot:

 #create scatterplot
plot(df$x, df$y)

#add lowess smoothing curve to plot
lines(lowess(df$x, df$y), col=' red ')

ตัวอย่างการปรับให้เรียบ Lowess ใน R

ขั้นตอนที่ 4: ปรับการเข้าถึงที่นุ่มนวลขึ้น (ไม่บังคับ)

นอกจากนี้เรายังสามารถปรับอาร์กิวเมนต์ f ในฟังก์ชัน lowes() เพื่อเพิ่มหรือลดค่าที่ใช้ในระดับที่ราบรื่นยิ่งขึ้น

โปรดทราบว่ายิ่งเราให้ค่ามากเท่าใด เส้นโค้งด้านล่างก็จะยิ่งนุ่มนวลขึ้นเท่านั้น

 #create scatterplot
plot(df$x, df$y)

#add lowess smoothing curves
lines(lowess(df$x, df$y), col=' red ')
lines(lowess(df$x, df$y, f=0.3), col=' purple ')
lines(lowess(df$x, df$y, f=3), col=' steelblue ')

#add legend to plot
legend(' topleft ',
       col = c(' red ', ' purple ', ' steelblue '),
       lwd = 2,
       c(' Smoother = 1 ', ' Smoother = 0.3 ', ' Smoother = 3 ')) 

เส้นโค้งการปรับให้เรียบที่อ่อนแอใน R

แหล่งข้อมูลเพิ่มเติม

วิธีการพล็อตหลายบรรทัดในกราฟใน R
วิธีสร้าง Scatterplot ด้วยเส้นถดถอยใน R
วิธีดำเนินการถดถอยพหุนามใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *