แก้ปัญหาความน่าจะเป็นแบบง่ายๆ

เห็นมีคนโพสท์ถามคำถามนี้ที่ https://pantip.com/topic/40867934 ผมเลยช่วยทำให้ดูโดยใช้ภาษา Wolfram ครับ

SciDraw

SciDraw คือแพ็กเกจที่ช่วยให้สร้างกราฟสวยๆในMathematica ครับ ช่วงนี้ผมใช้บ่อยเลยอยากมาแชร์ครับ มันเป็นแพ็คเกจที่ถูกพัฒนาโดย Mark A. Caprio, University of Notre Dame มาหลายปีแล้วครับ แต่ก็ยังเห็นมีคนใช้กันอยู่บ้างโดยเฉพาะในกลุ่มนักฟิสิกส์ ส่วนตัวผมก็ว่ามันใช้งานง่ายนะครับ แนะนำให้ลองศึกษาจากคู่มือที่เขาแชร์ไว้ที่ SciDraw: Publication-quality scientific figures with Mathematica (nd.edu) ดูครับมีตัวอย่างพอสมควรที่จะทำความเข้าใจได้ไม่ยาก ความสามารถหลักๆที่ผมใช้ก็คือการเอากราฟมารวมกัน ซ้อนกัน หรือวาด ใส่เส้นตามตำแหน่งที่ต้องการ

หาพื้นที่แรเงา

เห็นคนถามคำถามนี้ในเวบpantip

ช่วยหาพื้นที่ส่วนที่แรเงาหน่อยครับ – Pantip

คำถามลักษณะแบบนี้เราสามารถเขียนcode ในภาษาWolfram แก้ปัญหาได้ง่ายๆเลยครับ ด้วยการใช้คำสั่งอย่าง RegionDifference เพื่อดูความแตกต่างกันของพื้นที่ โดยจากโจทย์เราก็เพียงเอา พื้นที่ของสี่เหลี่ยมเป็นตัวตั้งแล้วลบออกด้วยพื้นที่วงกลมสำหรับพื้นที่ A ส่วนพื้นที่ B ก็ทำตรงกันข้ามคือเอาพื้นที่วงกลมตั้งลบออกด้วยพื้นที่สี่เหลี่ยม คำตอบที่ได้จาก Wolfram หาร4 ก็จะได้คำตอบสำหรับ พื้นที่ 1/4ของพื้นที่ที่ต่างกัน code ตัวอย่างด้านล่างนี้ผมใช้ Manipulate ครอบอีกทีเพื่อดูค่าที่รัศมีวงกลมหรือด้านของสี่เหลี่ยมต่างๆ

ลองดึงข้อมูลผู้ติดเชื้อโควิดของไทยจากเว็บมาplotด้วยภาษาWolfram

พอเรารู้วิธีการดึงข้อมูลมาแล้วเราก็สามารถนำไปประยุกต์ในเรื่องต่างๆได้เช่น ลองทำเป็น API แบบง่ายๆสำหรับดูแนวโน้วการระบาด ในตัวอย่าง API ที่ผมลองทำนี้ก็เอาค่า new cases ย้อนหลัง 3 วันมาคูณกันแล้วหารากที่ 3 เพื่อดูค่าเฉลี่ยแบบ exponential แล้วก็ลองหาความชันของค่านี้ดูแบบ 7 วันย้อนหลังว่าแนวโน้มการควบคุมดีขึ้นบ้างไหม ซึ่งแน่นอนเราอยากให้ค่านี้เป็นลบ

ใช้ neural network ทำ linear regression ง่ายๆใน ภาษา Wolfram

พอดีเมื่อวานมีพูดแนะนำเทคนิค neural network ในที่ทำงาน แล้วมีคนถามว่าใช้ทำ linear regression ได้ไหม ผมก็บอกว่าได้เลยทำให้ดูเป็นตัวอย่าง code ที่แชร์นี้ก็เป็นตัวอย่างที่ผมทำเมื่อวานครับ ซึ่งก็เริ่มด้วยการ generate ข้อมูลที่ดูเหมือนเป็นเส้นตรงมา จากนั้นก็สร้าง neural network โดยใช้ linear layer ที่มี input กับ output ค่าเดียว โดย loss function ที่ใช้คือ mean square จากกนั้นก็ใช้คำสั่ง NetTrain ในการหา weight กับ bias ของ linear layer จากนั้นก็ลอง plot เปรียบเทียบผลที่ได้กับคำสั่ง LinearModelFit

คำสั่ง NetTrain มันก็เหมือนกับ NMinimize กับ FindMinimum ที่จะหาจุดต่ำสุดของ Function ที่เราสนใจซึ่งในกรณีนี้ก็คือ mean square