# Data analytic exercise

### Matrix profile

การทำ Matrix profile นั้นเป็นการนำข้อมูลไปหาความคล้ายกันของข้อมูลเพื่อนำมาระบุว่าข้อมูลนั้นมีความคล้ายกัน ณ จุดใด หรือใช้ในทางกลับกันว่ามีจุดใดบ้างที่ไม่คล้ายกับจุดอื่นๆเลย **ข้อดี** เราสามารถหาความซ้ำกันของข้อมูลที่มีขนาดใหญ่ได้ **ข้อเสีย** ถ้าข้อมูลมาในลักษณะที่ไม่มี pattern หรือมีชุดข้อมูลขนาดเล็กมากๆ จะทำให้ Matrix profile นั้นไม่สามารถแสดงประสิทธิภาพได้อย่างเต็มที่&#x20;

หลักการของ Matrix profile คือการนำข้อมูลมา convolution เพื่อหา euclidian distance แล้วนำค่าที่น้อยที่สุดที่ได้จากการทำ convolution ครั้งนั้นไปใส่ไว้ใน profile distance&#x20;

![ภาพการทำ matrix profile](https://1856353139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MClo3nC-1US0rbK8Qau%2Fuploads%2FPFc1Lt2zpPvhUUYGTcpZ%2FMatrix%20profile.gif?alt=media\&token=ada4ab16-2e56-4056-a851-b6cd9f2273a2)

เมื่อเรานำค่า Matrix profile distance ไปทำการ visualize เราจะได้กราฟหน้าตาลักษณะดังนี้

![ภาพ Matrix profile distance ในลักษณะกราฟเส้น](https://1856353139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MClo3nC-1US0rbK8Qau%2Fuploads%2Fcw8v7MQSpMEytXW6Z0UL%2Fimage.png?alt=media\&token=3360bfa1-f0ca-4070-95ab-1b7736ae8c4d)

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

![จุดที่นำ data point มาเทียบใน data จริง](https://1856353139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MClo3nC-1US0rbK8Qau%2Fuploads%2F7K13mQMNdgSye8vX5cNw%2Fimage.png?alt=media\&token=96b87b6b-7266-4162-a0cb-c10dac2ae131)

## &#x20;Exercise&#x20;

แบบฝึกหัดเบื้องต้นนี้จะใช้ google colab และไลบรารี่ stumpy ในการทำ data analytic&#x20;

การทำ analytic นี้จะเป็นตัวอย่างการนำเข้าข้อมูลแบบ time series ไปทำ matrix profile เพื่อหาจุดที่เกิดการซ้ำกันของข้อมูล

เอกสารด้านล่างจะพาไปยัง Google colab&#x20;

{% embed url="<https://colab.research.google.com/drive/181of76vq65OsSjDpYifSr1xJ8WIw5hlc?usp=sharing>" %}
เอกสาร exercise
{% endembed %}

เมื่อเข้าไปแล้วสามารถกด File > copy in drive เพื่อนำไปแก้ไขหรือต่อยอดได้

##

แหล่งอ้างอิง

{% embed url="<https://towardsdatascience.com/introduction-to-matrix-profiles-5568f3375d90>" %}
