เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ความแข็งแกร่งของความสัมพันธ์

โดยสัญชาตญาณ เราสามารถมองกราฟที่แสดงไว้และ "มองเห็น" ได้ว่าตัวแปรทั้งสองมีแนวโน้มที่จะ "เปลี่ยนแปลงไปพร้อมกัน" หรือไม่

  • ชุดข้อมูล A: x และ y เปลี่ยนแปลงไปด้วยกันและดูเหมือนมีความสัมพันธ์ที่แข็งแกร่ง
  • ชุดข้อมูล B: มีแนวโน้มขาขึ้นอย่างคร่าว ๆ โดย x และ y ดูเหมือนมีความสัมพันธ์กันเพียงเล็กน้อย
  • ชุดข้อมูล C: ดูเหมือนการกระจายแบบสุ่ม โดย x และ y ไม่ได้เปลี่ยนแปลงไปพร้อมกันและไม่มีความสัมพันธ์กัน

Data Set A

Data Set B

Data Set C

จำไว้ว่าค่าเบี่ยงเบนคือส่วนต่างจากค่าเฉลี่ย และเราทำให้เป็นค่ามาตรฐานโดยหารค่าเบี่ยงเบนด้วยส่วนเบี่ยงเบนมาตรฐาน ในแบบฝึกหัดนี้ให้เปรียบเทียบชุดข้อมูลทั้ง 3 ชุดโดยคำนวณค่าความสัมพันธ์ แล้วพิจารณาว่าชุดข้อมูลใดมีตัวแปร x และ y ที่มีความสัมพันธ์กันแข็งแกร่งที่สุด ใช้ตารางข้อมูล data_sets ที่เตรียมไว้ให้ ซึ่งเป็น dictionary ของระเบียนข้อมูล แต่ละระเบียนมีคีย์ 'name', 'x', 'y' และ 'correlation'

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Introduction to Linear Modeling in Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เขียนนิยามฟังก์ชัน correlation() ให้สมบูรณ์ โดยใช้ค่าเฉลี่ยของผลคูณของค่าเบี่ยงเบนมาตรฐานของ x และ y
  • วนซ้ำผ่าน data_sets โดยคำนวณและเก็บค่าความสัมพันธ์แต่ละค่าโดยใช้ correlation(record['x'], record['y'])
  • รันโค้ดจนถึงจุดนี้ (คือจนถึงท้าย for loop) แล้วตรวจสอบผลลัพธ์ที่แสดงออกมา ชุดข้อมูลใดมีความสัมพันธ์แข็งแกร่งที่สุด?
  • กำหนดชื่อชุดข้อมูล (data_sets['A'], data_sets['B'] หรือ data_sets['C']) ที่มีความสัมพันธ์แข็งแกร่งที่สุดให้กับตัวแปร best_data

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Complete the function that will compute correlation.
def correlation(x,y):
    x_dev = x - np.____(x)
    y_dev = y - np.____(y)
    x_norm = x_dev / np.____(x)
    y_norm = y_dev / np.____(y)
    return np.____(x_norm * y_norm)

# Compute and store the correlation for each data set in the list.
for name, data in data_sets.items():
    data['correlation'] = ____(data['x'], data['y'])
    print('data set {} has correlation {:.2f}'.format(name, data['correlation']))

# Assign the data set with the best correlation.
best_data = data_sets['____']
แก้ไขและรันโค้ด