Startup แบบไหนที่ได้ไปต่อ! ทดสอบด้วย Machine Learning

Img cr: http://www.dcubicspace.com/

ปัจจุบันมี Startup ใหม่ๆ เกิดขึ้นทุกวันพร้อมกับไฟแห่งความหวัง แต่ใครจะรู้ว่ามี Startup ไม่น้อยที่ไฟนั้นต้องมอดไปก่อนเวลาอันควร ไม่สามารถไปให้ถึงฝั่งฝันได้ วันนี้เราจะมาดูกันค่ะ ว่าจะมีทางไหนบ้างมั้ยที่เราจะสามารถใช้ Machine Learning เข้ามาทำนายความสำเร็จหรือความอยู่รอดของ Startup หน้าใหม่ได้

ก่อนอื่นเรามาดูแหล่งข้อมูลที่เราจะนำมาใช้กันก่อนค่ะ ข้อมูลที่เราจะนำมาใช้นี้เป็นข้อมูลฟรีจากเว็บไซต์ https://angel.co/companies ซึ่งเป็นเว็บไซต์ที่ใช้ข้อมูลต่างๆ เกี่ยวกับบริษัท Startup ในหลายๆ Sectors ณ วันที่เขียนบทความนี้ (13/5/2020) ในเว็บไซต์นี้มีข้อมูลบริษัทอยู่ถึง 556,000+ บริษัทเลยทีเดียว

https://angel.co/companies

โดยเว็บไซต์จะให้ข้อมูลรายละเอียดต่างๆ ที่จำเป็นเกี่ยวกับบริษัทในฐานะของ Startup เช่น ชื่อบริษัท วันที่เข้าร่วมในเว็บไซต์ ตำแหน่งที่ตั้ง ประเภทธุรกิน ขนาดบริษัท สถานะ และ จำนวนเงินที่บริษัทระดมทุนถึง ณ ปัจจุบัน

เนื่องจากมีจำนวน Startup อยู่เป็นจำนวนมาก เราจึงจะทำการสุ่ม Startup ออกมาใช้ในการวิเคราะห์ข้อมูลเพียงบางส่วนเท่านั้น ก่อนที่จะเริ่มต้นการวิเคราะห์ข้อมูลกัน จะขอกล่าวถึงสถานะของบริษัทกันซักเล็กน้อยก่อน เพื่อให้เข้าใจข้อมูลมากขึ้นค่ะ

สถานะ (Stage) ของ Startup

สถานะของ Startup จะบ่งบอกว่าตอนนี้ Startup นั้นกำลังอยู่ในขั้นตอน (Process) ใดของการทำงาน เช่น สถานะเริ่มตั้งแต่ Seed (เริ่มก่อตั้ง Startup และ ศึกษาตลาดไปจนถึงการพัฒนาสินค้าในขั้นต้น) ต่อด้วย Fund Raising serie A (การระดมทุน Series A), Fund Raising Series B (การระดมทุน Series B) ไปเรื่อยๆ จนถึงการบริษัทเข้าตลาดหลักทรัพย์ เป็นต้น ดังรูปด้านล่าง

จากรูป จะเห็นว่าจากข้อมูลที่สุ่มมาจำนวน 3,673 บริษัท มีจำนวนบริษัทกว่าครึ่ง (~ 1950) ที่อยู่ในสถานะแรก คือ Seed และ มีประมาณ ~550 ที่สามารถผ่านสถานะที่ 2 คือ Fund Raising Series ไปได้ และ เมื่อดูต่อไปเรื่อยๆ ก็จะเห็นว่า จำนวนของ Startup ที่สามารถฝ่าฟันจะไปถึง IPO ได้นั้นมีน้อยนิดเดียว แน่นอนว่าการก่อสร้าง Startup ให้สำเร็จนั้นย่อมเป็นงานหินพอสมควรทีเดียว!

ในบทความนี้เราจะโฟกัสไปที่ Startup ที่อยู่ใน Stage "Seed" หรือ ว่าสถานะเริ่มก่อตั้งกันนะคะ แล้วจะมาทำนายโอกาสในการประสบความสำเร็จขั้นต้น หรือ การประสบความสำเร็จในการ Fund Raising Series A กันค่ะ 

มาเริ่มทำงานกันดีกว่า

ขั้นตอนที่ 1 : มาดูข้อมูลกันก่อน (Data Loading)

ในที่นี้เราจะสุ่มเลือกข้อมูล Startup มาทำการทดลองกันประมาณ 5000 บริษัท ซึ่งแต่ละบริษัทก็จะมี Features ที่สำคัญๆ ดังนี้

  • ช่วงเวลาที่ Startup นี้ได้ถูกแอดเข้ามาในระบบฐานข้อมูลของ Angellist
  • สถานที่ตั้งของ Startup
  • Market Section ที่ Startup นั้นดำเนินธุรกิจ เช่น Healthcare (ธุรกิจด้านดูแลสุขภาพ), E-Commerce (ธุรกิจออนไลน์) เป็นต้น
  • ขนาดบริษัทวัดจากจำนวนพนักงาน
  • สถานะปัจจุบันของบริษัท เช่น Seed, Series A หรือ IPO เป็ฯต้น
  • จำนวนเงินระดมทุนถึงปัจจุบัน
ตัวอย่างข้อมูลที่อ่านเข้ามาโดยใช้ Python เพื่อทำการทดลอง

ขั้นตอนที่ 2: เตรียมข้อมูล (Data preprocessing)

ขั้นตอนนี้เราจะมาจัดการทำความสะอาด และ ปรับรูปแบบข้อมูลเพื่อให้พร้อมสำหรับการทำงานกันค่ะ

2.1) เปลี่ยนให้เป็นสกุลเงินเดียวกัน

จากข้อมูลพบว่าข้อมูล Startup ที่เราใช้ มีการใช้สกุลเงินที่แตกต่างกัน 3 สกุล คือ ดอลล่าห์สหรัฐ, ยูโร และ ปอนด์ ดังนั้นก่อนอื่นเลย ก่อนจะทำงานกับข้อมูลชุดนี้เพื่อวิเคราะห์ข้อมูล Startup เหล่านี้ด้วยกัน เราก็ต้องเปลี่ยนให้สกุลเงินเป็นสกุลเดียวกันซะก่อนค่ะ ในที่นี้เราจะเปลี่ยนเป็น ดอลล่าห์สหรัฐค่ะ

Column Raised (ระดมทุน) ถูกเปลี่ยนเป็นสกุลเงินเดียวกันคือ ดอลล่าห์

2.2) เปลี่ยนช่วงเวลาที่เข้าร่วมกับ AngleList (คอลัมน์ Joined) ให้มีรูปแบบที่เหมาะสม

5ในที่นี้ colume “Joined” มีรูปแบบเป็น ตัวเลขผสมกับตัวอักษร ในที่นี้เราจะเปลี่ยนเป็น DateTime Format (yyyy, m, d) เช่น ‘June 10’ ก็จะกลายเป็น 2010, 5, 1 โดยในที่นี้ข้อมูลไม่ได้ให้รายละเอียดในส่วนของวันที่ไว้ เราจึงจะตั้งให้วันที่เป็นวันแรกของเดือนเสมอ จากนั้นเราจะเปลี่ยนจากตัวเลขที่ได้มานั้น ให้กลายเป็นจำนวนปี ที่ Startup นั้นได้เข้าร่วมกับ AngleList แทน

2.3) เปลี่ยนขนาดของบริษัทให้เป็นตัวเลขจำนวนเดียว

ณ ปัจจุบันข้อมูลที่ได้มีการระบุขนาดบริษัทด้วยการใช้จำนวนพนักงานเป็นช่วงๆ เช่น 1-10 คน, 11-50 คน หรือ 501-1000 คน ซึ่งข้อมูลแบบนี้ไม่เหมาะสมในการนำมาใช้ เราจึงจะเปลี่ยนค่าเหล่านี้เป็นเลขตัวเดียว โดยใช้ค่ากลางของแต่ละช่วงค่าเป็นตัวแทนค่านั้นๆ เช่น 1-10 คน เราก็จะแทนที่ด้วย 5 เป็นต้น

2.4) เปลี่ยนคอลัมน์ Location เป็นตัวเลข

ในที่นี้เราจะเปลี่ยนคอลัมน์ Location ที่เป็นตัวหนังสือแสดงชื่อเมืองให้เป็นตัวเลข เพื่อให้ ML สามารถนำไปใช้ในการประมวลผลได้ ในที่นี้เราจะใช้วิธีการ “One-Hot encoding” ที่มีชื่อเมืองเป็นชื่อคอลัมน์ และ มีค่าที่เป็นไปได้เพียงแค่ 0 หรือ 1 เท่านั้น ดังนี้

ตัวอย่างข้อมูลที่ปรับรูปแบบแล้ว

ตัวอย่าง จากรูปจะเห็นว่า Startup ลำดับที่ 3 (แถวที่ 3) ตั้งอยู่ที่เมือง Amsterdam ทำให้คอลัมน์ Amsterdam มีค่าเป็น 1 ในขณะที่คอมลัมน์ชื่อเมืองอื่นๆ เป็น 0 ส่วน Startup ลำดับที่ 3 นับจากสุดท้ายตั้งอยู่ที่เมือง Berlin เป็นต้น

2.5) เปลี่ยนคอลัมน์ที่เป็นตัวอักษรอื่นๆ เป็นตัวเลข

ขั้นตอนนี้จะเปลี่ยนคอลัมน์ที่เป็นตัวอักษรอื่นๆ ให้เป็นตัวเลข โดยใช้ One-Hot encoding เช่นกัน ทำให้หลังจากขั้นตอนนี้ คอลัมน์อื่นๆ ที่เคยมีค่าเป็นตัวอักษร เช่น Location, market กลายเป็นมีค่าตัวเลข 0 หรือ 1 เช่นกัน

ขั้นตอนที่ 3: วิเคราะห์ปัญหา (Problem Specification)

ในที่นี้เราจะวิเคราะห์ปัญหานี้เป็นปัญหาแบบ Classification (การจัดกลุ่ม) เนื่องจากสิ่งที่เราต้องการก็คือ “การทำนาย” ว่า Startup ใหม่ที่เข้ามาในระบบนั้นจะ ประสบความสำเร็จ (ในที่นี้เราจะขอเรียกว่า Good startup) หรือ ไม่ประสบความสำเร็จ (ในที่จะขอเรียกว่า Not good startup) ดังนั้น Class ที่เราต้องการทำงานมี 2 Class ด้วยกันคือ “Good” และ “Not Good”

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

ในที่นี้ อ้างอิงจากเว็บไซต์โดย TechCrunch ที่ได้ศึกษาข้อมูล Startup จำนวน 5800 บริษัทในสหรัฐอเมริกา และพบว่า Startup ที่ประสบความสำเร็จในการระดมทุน Series A จำนวนมากที่สุดคือ Startup ที่มีการระดมทุนในระดับก่อน Series A อยู่ระหว่าง 2 ล้าน ถึง 2.5 ล้านดอลล่าห์สหรัฐ ดังกราฟด้านล่าง

Cr: TechCrunch

จากรูป กราฟแท่งเป็นกราฟแสดงจำนวนบริษัทที่ระดมทุนใน Pre-series A เป็นจำนวนเงินที่ระดับต่างๆ การเส้นสีฟ้า เป็นจำนวนสัดส่วนของบริษัทที่ประสบความสำเร็จในการระดมทุน Series A ซึ่งจะเห็นได้ชัดว่าจุด Optimal ที่ Startup ประสบความสำเร็จมากที่สุดคือ จุดที่มีการระดมทุน Pre-series A อยู่ที่ 2.0 – 2.5 ล้านดอลล่าห์ ในที่นี้เราจะนำข้อมูลนี้มาประยุกต์ใช้กับข้อมูลที่เรามี คือ

Startup ที่อยู่ในสถานะ Seed และมีการระดมทุน 2 ล้านดอลล่าห์ก่อน Series A จะถูกกำหนดให้เป็น "Good" Startup ส่วน Startup อื่นๆ ให้เป็น "Not good" 

ดังนั้น ในขั้นตอนนี้เราจะสร้างคอลัมน์ใหม่ขึ้นมา 1 คอลัมน์ ชื่อว่า “raised_2mil” โดยคอลัมน์นี้จะมีค่า 1 (Good) ถ้า Startup นั้นมีการระดมทุน 2 ล้านดอลล่าห์ (ค่า optimal ที่วิเคราะห์มาจาก TechCrunch) ก่อน Series A ในทางกลับกัน ถ้าจำนวนเงินในการระดมทุนเป็นจำนวนอื่นๆ จะแทนค่าคอลัมน์นี้ด้วย 0 (Not good)

Extra: ก่อนจะเริ่ม ML กัน เรามาลองวิเคราะห์ข้อมูลง่ายกันดูซักหน่อยก่อนดีกว่า!


StartUp ที่มีสถานะ Seed ส่วนใหญ่จะมีพนักงานอยู่แค่ 1-10 คนเท่านั้น รองลงมาคือ 11-50 คน และ มีเพียง 1 บริษัทเท่านั้นที่มีจำนวนพนักงานมากกว่า 5000 คน


Seed Startup ที่มีจำนวนมากที่สุดคือ จำพวก Mobile Commerce และ Mobile Game และ Startup ประเภท Social Media ที่น่าจะเป็นที่สนใจกลับรั้งอยู่ในอันดับที่ 20


.

.
เมืองหลวงแห่งวงการ Startup ก็เป็น San Francisco ตามคาด ตามมาด้วย New York City, London และ Los Angeles

ขั้นตอนที่ 4: Machine Learning

Cr: https://unsplash.com/

4.1) กำหนดค่าของเวกเตอร์ X และ y สำหรับการทำนายค่าด้วย ML

ย้อนไปถึงจุดมุ่งหมายของเรากันก่อน เรากำหนดปัญหาของเราแล้วว่า เราต้องการ

“ทำนายว่า Startup ที่มีสถานะ Seed จะประสบความสำเร็จในการระดมทุน Series A หรือไม่?”

ดังนั้น ตัวแปร X ของเราก็คือ ค่า Features ทั้งหมดของ Seed Startup ยกเว้นคอลัมน์ raised_2mil และ ตัวแปร y คือ คอลัมน์ที่ต้องการทำนายคือ “raised_2mil” นั่นเอง

4.2) Feature selection

ถ้าเราใช้คอลัมน์ทั้งหมดในการทำนาย จะมีจำนวนคอลัมน์สูงถึง 82 คอลัมน์ด้วยกัน ซึ่งมีความเป็นไปได้สูงที่จะมีคอลัมน์ที่ไม่จำเป็น หรือ ไม่ได้สงผลต่อการทำนายรวมอยู่ด้วย ขั้นตอนนี้จึงเป็นอีกขั้นตอนที่สำคัญมากๆ ซึ่งเป็นการ “เลือก” คอลัมน์ที่สำคัญต่อการทำนาย และ กำจัดคอลัมน์ที่ไม่จำเป็นหรือ ซ้ำซ้อนออกไปจากการทำนาย

** คอลัมน์ที่ไม่จำเป็น ในหลายๆ กรณี นอกจากจะไม่ช่วยทำให้การทำนายดีขึ้น ยังส่งผลให้การทำนายของ ML แย่ลงอีกด้วย และนอกจากนี้แน่นอนว่า ข้อมูลที่เยอะเกินไป ประสิทธิของความรวดเร็วในการทำงานย่อมลดลงอีกด้วย 

ในที่นี้วิธีการที่ถูกเลือกมาทำ Feature selection คือ Chi-Squared, Mutual information,และ p-value

ในที่นี้เรากำหนดจำนวนคอลัมน์ที่สำคัญที่สุดมา 10 อันดับแรก เพื่อนำมาใช้ในการทำงาน (ถ้าใครสนใจ อาจจะทำ Optimization เพื่อให้ได้จำนวนคอลัมน์ที่เหมาะสมที่สุดโดยการใช้ Grid search ในขั้นตอนนี้ก็ได้) ผลลัพธ์จากการรัน คอลัมน์ที่ถูกจัดอันดับความสำคัญต่อการทำนายข้อมูลสูงสุดของ มีดังนี้

จากผลลัพธ์ในรูปด้านบน จะเห็นว่าคอลัมน์ที่ทั้ง P-value, ChiSquare และ Mutual Information ลงความเห็นว่าสำคัญที่สุด คือ Size_numeric หรือ ขนาดของบริษัทที่วัดจากจำนวนพนักงาน รองลงมาคือ Years จำนวนปีที่ Startup นั้นได้เข้าร่วมกับ AngelList 2 คอลัมน์นี้เป็นคำตอบที่ตรงกันของทั้ง 3 วิธี ส่วนคอลัมน์อื่นๆ ก็แตกต่างกันตามรูปด้านบนนั่นเอง

4.3) แบ่งข้อมูล Train-Test ออกเป็น 80-20 เปอร์เซ็นต์

ขั้นตอนนี้เป็นขั้นตอนพื้นฐานก็คือ การแบ่งข้อมูลออกเป็น ข้อมูลชุดสอน (Training set) และ ข้อมูลชุดทดสอบ (Test set) ซึ่งในที่นี้จะแบ่งโดยใช้วิธีง่ายๆ คือ แบ่งข้อมูลส่วนใหญ่ (80%) เป็นข้อมูล Train set ส่วนที่เหลือ 20% ให้เป็นข้อมูล Test set

4.4) สร้างโมเดล ML และ ทำการสอนโมเดล (Training)

ขั้นตอนนี้เราจะมาเลือกโมเดลกัน ซึ่งจากที่เราวิเคราะห์มาแล้วว่า ปัญหาของเราคือ ปัญหาประเภท Classification ที่มีค่าที่ต้องการทำนายเพียงแค่ 2 ค่าเท่านั้น คือ Good และ Not good ดังนั้นโมเดล ML ที่เราจะเลือก ก็ควรจะเป็นโมเดลที่เข้ากับปัญหาของเรา ในที่นี้เราจึงเลือก โมเดล ML สำหรับทำ Classification ตัวที่ไม่ซับซ้อนมาก คือ Logistic regression มาใช้งาน

Logistic Regression จะให้ผลลัพธ์เป็นค่า “ความน่าจะเป็น” ที่ข้อมูลนั้นจะเป็นคลาส 0 หรือ 1 ซึ่งโดยปกติแล้ว ค่าพื้นฐานที่ใช้ในการตัดสินใจก็คือ 0.5 เช่น ถ้าค่าความน่าจะเป็นที่ได้จาก Logistic model เท่ากับ 0.8 จะตีความหมายว่า มีโอกาศ 80% ที่ข้อมูลที่เข้ามานั้นจะเป็นคลาส 1 (ในที่นี้คือ เป็นไปได้ 80% ที่ Startup นั้นจะเป็น Startup ที่จัดอยู่ในกลุ่ม Good) ดังนั้น เราจะจัดให้ผลจากการทำนาย คือ บริษัทที่เข้ามาใหม่นั้นจะอยู่รอด นั่นเอง

เมื่อสร้างโมเดลเรียบร้อยแล้ว โดยใช้ Sklearn เราก็ทำการสอน (Train) โมเดล ด้วยข้อมูลที่ได้จัดแบ่งไว้ในขั้นตอนก่อนหน้า

4.5) ทำนาย และ วิเคราะห์ผลลัพธ์

ในที่นี้เราจะใช้โมเดล Logistic Regression 4 ตัว และนำผลลัพธ์มาเปรียบเทียบกัน โดยมีรายละเอียดของแต่ละโมเดล ดังนี้

  • Model 1 (Benchmark) : โมเดล Logistic Regression ที่ใช้ข้อมูล “ทุกคอลัมน์” ในการสอน และ ทดสอบ
  • Model 2 P-value : โมเดล Logistic Regression ที่ใช้ข้อมูล “เฉพาะ 10 คอลัมน์ ที่เลือกมาด้วยวิธีการ P-value” ในการสอน และ ทดสอบ
  • Model 3 Chi-Squared : โมเดล Logistic Regression ที่ใช้ข้อมูล “เฉพาะ 10 คอลัมน์ ที่เลือกมาด้วยวิธีการ Chi-Squared” ในการสอน และ ทดสอบ
  • Model 4 Mutual Information : โมเดล Logistic Regression ที่ใช้ข้อมูล “เฉพาะ 10 คอลัมน์ ที่เลือกมาด้วยวิธีการ Mutual Information” ในการสอน และ ทดสอบ

ผลการเปรียบเทียบการทำงานของโมเดลทั้ง 4 ข้างต้น แสดงด้วย AUC (Area Under the Curve) ดังนี้

AUC เป็นกราฟแสดงความสัมพันธ์ระหว่าง TP (True-Positive) หรือ การทำนายถูกว่าเป็นคลาส 1 กับ FP (False-Positive) หรือ การทำนายผิดว่าเป็นคลาส 1 เส้นที่ดีที่สุดของ AUC ก็คือ เส้นที่อยู่เหนือ และออกห่างจากเส้นแทยงมุมมากที่สุด

จากกราฟ โมเดลที่ดูจะทำงานได้แย่ที่สุด ก็คือ Logistic (Benchmark) หรือ โมเดลที่ไม่ได้ทำ Feature selection และ ใช้ทุกคอลัมน์นั่นเอง มีค่า AUC อยู่ที่ประมาณ 0.728 (+/-0.062) ส่วนโมเดลที่ดีที่สุดนั้นค่อนข้างดูยากซักหน่อย เพราะเส้นผลลัพธ์ของอีก 3 โมเดลที่เหลือค่อนข้างทับซ้อนกัน แต่ถ้าพิจารณาจากค่า AUC แล้ว โมลเดลที่ดีที่สุดก็น่าจะเป็น Logistic (P-value) ที่มีค่า AUC อยู่ที่ประมาณ 0.760 (+/-0.056) รองลงมาก็น่าจะเป็น Chi-Squared และ Mutual Information ตามลำดับ

ดูผลลัพธ์จากกราฟมาแล้ว เดี๋ยวเราลองมาดูผลลัพธ์จากค่าตัวเลขกันบ้างดีกว่าค่ะ ผลลัพธ์ที่ได้จาก Test set ของแต่ละโมเดล ได้แก่ Accuracy โดยรวมของทั้งโมเดล ส่วนค่า TPR (True-Positive Rate), FPR (FPR) ในที่นี้จะโชว์เพียงแค่ผลลัพธ์จากคลาส 1 (Positive) เท่านั้น

จากผลลัพธ์ด้านบน บางท่านอาจจะคิดว่า ทำไมมันไปคนละทางจากที่เราสรุปกันด้านบนจากกราฟ AUC? จริงๆ แล้ว ผลลัพธ์มันไปทางเดียวกัน เพราะ ถึงแม้ว่าค่า Accuracy ที่ได้จากโมเดลที่ 4 คือ Mutual Information จะมีค่าสูงที่สุด (ทั้งที่ใน AUC มันอยู่ลำดับที่ 3) แต่ถ้าดูให้ลึก ค่า Accuracy ไม่ใช่ทุกอย่าง ถึงแม้จะมีความถูกต้องสูงถึง 76% สูงกว่าโมเดลอื่นๆ แต่เมื่อมาดูค่า TPR แล้ว กลับมีค่าต่ำกว่าโมเดลอื่นอยู่พอสมควร (หมายความว่ามีเปอร์เซ็นต์การทำนายถูกว่าเป็นบริษัทที่ดีต่ำมาก) ใน ทางกลับกัน ค่า FPR ก็สูงกว่าโมเดลอื่น (หมายความว่ามีเปอร์เซ็นต์การทำนายผิดว่าเป็นบริษัทที่ดีสูงมาก) จึงเป็นข้อสังเกตุได้ว่าโมเดลที่ 4 Mutual Information นั้น ไม่ใช่โมเดลที่ดีจริงๆ หรือ มีการ Overfit กับคลาส 0 (Startup ของบริษัทที่ไม่ดี) สูงเกินไปนั่นเอง เพราะความแม่นยำในการค้นหา Startup ที่ดีค่อนข้างแย่

โมเดลที่ดีที่สุดก็ยังโน้มเอียงมาทาง P-value เพราะนอกจากจะมี Accuracy ที่สูงพอสมควรแล้ว ยังมีค่า TPR ที่สูงอีกด้วย ถึงแม้ว่าค่า TPR ของ P-value จะเท่ากับโมเดล Benchmark อีกทั้งยังมีค่า FPR สูงกว่า Benchmark ซึ่งถ้าพิจารณา 2 ค่านี้แล้ว เราอาจจะเข้าใจว่าโมเดล Benchmark นั้นดีกว่า P-value แต่จริงๆ แล้ว ถ้าเรามาดูค่า Accuracy แล้ว เราก็จะเห็นว่า P-value นั้นมีค่า Accuracy สูงกว่า Benchmark พอสมควรเลยทีเดียว ในส่วนนี้เราก็จะอนุมานได้ว่า นอกจากผลการทดสอบคลาส 1 (Positive) ที่โชว์แล้ว โมเดล P-value น่าจะมีค่าความถูกต้องของคลาส 0 (Negative) สูงเช่นกัน จึงทำให้ ค่า Accuracy สูงขึ้น ดังนั้น โมเดลที่ดีที่สุด ก็จะเป็น P-value ซึ่งสอดคล้องกับผลลัพธ์ที่ได้จากกราฟ AUC นั่นเอง

ขั้นตอนที่ 5: สรุปผล

Cr: https://unsplash.com/

สุดท้ายนี้ เราจะนำผลลัพธ์ทางสถิติที่ได้มาจากโมเดล P-value มาสรุปผลลัพธ์ที่ได้จากการทดลองในครั้งนี้กันออกมาเป็นข้อๆ ดังนี้

  • วิธีการที่ดีที่สุดในการทำ Feature Selection ในการทดลองครั้งนี้คือ P-value เนื่องจากส่งผลให้ได้โมเดลที่มีประสิทธิภาพมากที่สุด
  • ค่า Accuracy ที่คาดหวังได้จากโมเดลที่ดีที่สุด (เหมาะสมที่สุดทั้งในด้านการทำนายคลาส Negative และ Positive) คือ 71.5%
  • คอลัมน์ “Size_numeric” เป็นคอลัมน์ที่ถูกเลือกมาเป็นอันดับแรก ซึ่งมีค่า Positive Coef อยู่ที่ 0.0044 ซึ่งหมายความว่า Startup ที่มีขนาดใหญ่กว่า มีแนวโน้มจะประสบความสำเร็จในการระดมทุน Series A มากกว่า นั่นเอง
  • คอลัมน์ “Years” หรือ จะนวนปีที่ Startup นั้นเข้าร่วม AngleList มีค่า Negative Coef อยู่ที่ -0.3337 ซึ่งหมายความว่า Startup ยิ่งอายุมาก ยิ่งมีโอกาสที่จะประสบความสำเร็จในการระดมทุนใน Series A น้อยลง นั่นเอง ซึ่งก็สมเหตุสมผล เพราะ Startup ที่ก่องตั้งมานานมา แต่ยังอยู่ในสถานะ Seed อยู่ มีความเป็นไปได้สูงที่จะหมายความว่า ไม่เป็นที่ต้องการของตลาด และก็อาจจะต้องล้มหายตายจากกันไปในอนาคต
  • Startup ที่ก่อตั้งใน London, New York, San francisco และ Seattle มีค่า Positive Coef เช่นกัน นั่นก็คือ มีโอกาสสูงที่ Startup ในพื้นที่เหล่านี้จะประสบความสำเร็จในในการระดมทุน Series A มากกว่า นั่นเอง ซึ่งก็สมเหตุสมผล เนื่องจากเมืองเหล่านี้เป็นเมืองที่มีชื่อเสียง และ เป็นที่นิยม หรือ เป็นแหล่งของ Startup อยู่แล้ว (San Francisco มี Silicon Valley, Seattle เป็นแหล่งรวม Headquarter ของหลายๆ บริษัทขนาดใหญ่, London เป็นหนึ่งในเมืองสำคัญทางการเงินของโลก)
  • ที่น่าแปลกคือ Mobile Game ที่ดูน่าจะมีโอกาสอันสดใสสำหรับ Startup นั้น กลับมาค่า Negative Coef ซึ่งนั่นก็หมายความว่า โอกาสในการประสบความสำเร็จในการระดมทุน Series A นั่นค่อนข้างต่ำ ซึ่งอาจจะเป็นเพราะว่า ตลาด Mobile Game นั้นมีการแข่งขันที่สูงมาก แต่ค่อนข้างยากที่จะพัฒนา “Tech Innovation” ออกมาได้

อย่างไรก็ตามบทความนี้ก็ขอสรุปผลการทดลองไว้เพียงเท่านี้ก่อนนะคะ หวังว่าจะเป็นประโยชน์ต่อผู้อ่านบ้าง ไม่มากก็น้อยนะคะ ถ้าผู้อ่านท่านใดสนใจอ่านรายละเอียดเพิ่มเติม สามารถตามอ่านได้จากบทความของคุณ Xiaoxiang Ma ด้านล่างได้เลยค่ะ

Cr: https://unsplash.com/

Credit : Xiaoxiang Ma

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s