2  การจัดเตรียมสภาพแวดล้อมเพื่อการวิเคราะห์ทางเศรษฐศาสตร์

Modified

April 29, 2026

Keywords

Python for Economics, Computational Economics, Applied Econometrics, Python สำหรับเศรษฐศาสตร์, เศรษฐศาสตร์คำนวณ, เศรษฐมิติเชิงประยุกต์

ก่อนที่เราจะเริ่มเขียนโปรแกรม หัวใจสำคัญคือการสร้างสภาพแวดล้อมสำหรับการทำงานให้พร้อมใช้งานและเสถียร ในบทนี้จะแนะนำการติดตั้งเครื่องมือระดับมาตรฐานที่มืออาชีพทั่วโลกเลือกใช้

2.1 ติดตั้งภาษา Python

ในการวิเคราะห์เศรษฐศาสตร์เชิงคำนวณ ความท้าทายแรกไม่ใช่การเขียนโค้ด แต่คือการจัดการ “คลังโปรแกรม” (Libraries) ที่มีความซับซ้อนและพึ่งพากัน การเลือกติดตั้ง Python ที่เหมาะสมจะช่วยให้นักเศรษฐศาสตร์มุ่งเน้นไปที่การวิเคราะห์ข้อมูลมากกว่าการแก้ปัญหาเชิงเทคนิค โดยมี 3 ทางเลือกหลักดังนี้:

2.1.1 Anaconda Distribution: ห้องแล็บเศรษฐศาสตร์ฉบับเบ็ดเสร็จ

Anaconda คือทางเลือกมาตรฐานสำหรับการศึกษาวิจัยและการเรียนการสอนในระดับมหาวิทยาลัย

  • บริบทเชิงเศรษฐศาสตร์: เปรียบเสมือนการมีสำนักหักบัญชี (Clearing House) ที่รวบรวมเครื่องมือจำเป็นอย่าง NumPy, Pandas, Matplotlib และ Scipy มาให้พร้อมใช้งาน

  • จุดเด่น: มีระบบ Conda Navigator ที่เป็นมิตรกับผู้ใช้งานสายสังคมศาสตร์ ช่วยให้การจัดการสภาพแวดล้อมจำลอง (Virtual Environments) ทำได้ผ่านหน้าจอแบบกราฟิก ลดโอกาสเกิดความผิดพลาดในการติดตั้ง Library ที่ต้องใช้การคำนวณทางคณิตศาสตร์ขั้นสูง

2.1.2 Miniconda: ความคล่องตัวสำหรับนักวิจัย

สำหรับนักวิเคราะห์ที่ต้องการความคล่องตัวและใช้ทรัพยากรเครื่องอย่างคุ้มค่า

  • บริบทเชิงเศรษฐศาสตร์: เหมาะสำหรับนักวิจัยที่ต้องการควบคุมสภาพแวดล้อมของแบบจำลองอย่างละเอียด

  • จุดเด่น: ติดตั้งเฉพาะ Python และระบบจัดการ conda พื้นฐาน ทำให้ประหยัดพื้นที่จัดเก็บข้อมูล และช่วยให้เราสามารถสร้าง “Micro-environment” แยกตามแต่ละโปรเจกต์วิจัยได้ เช่น สภาพแวดล้อมสำหรับงานทางเศรษฐมิติทั่วไป และสภาพแวดล้อมแยกต่างหากสำหรับงานการเรียนรู้ของเครื่องขั้นสูง

2.1.3 Vanilla Python: สำหรับการพัฒนาระบบนวัตกรรมดิจิทัล

การติดตั้ง Python โดยตรงจาก Python.org

  • บริบทเชิงเศรษฐศาสตร์: เหมาะสำหรับ Digital Innovators ที่ต้องการนำแบบจำลองเศรษฐศาสตร์ไปเชื่อมต่อเป็นบริการบนเว็บ (API) หรือแอปพลิเคชัน

  • จุดเด่น: มีความเร็วในการเริ่มต้นระบบสูงและน้ำหนักเบา แต่ผู้ใช้ต้องมีความชำนาญในการใช้คำสั่ง pip และการจัดการ Dependency ด้วยตนเอง

2.2 IDE และสภาพแวดล้อมการเขียนโปรแกรมที่แนะนำ

2.2.1 Jupyter Notebook / JupyterLab: ห้องปฏิบัติการวิจัยเชิงโต้ตอบ

Jupyter คือเครื่องมือที่เป็นหัวใจสำคัญของ Reproducible Research (งานวิจัยที่ผู้อื่นสามารถตรวจสอบและทำซ้ำได้) โดยเปลี่ยนจากไฟล์โค้ดที่อ่านยาก ให้กลายเป็น “สมุดบันทึก” ที่บอกเล่าเรื่องราวการค้นพบทางเศรษฐศาสตร์ได้อย่างเป็นลำดับขั้นตอน

  • Interactive Context: นักเศรษฐศาสตร์สามารถรันโค้ดทีละส่วน (Cells) เพื่อทดสอบสมมติฐานหรือเปลี่ยนพารามิเตอร์ของแบบจำลองได้ทันที โดยไม่ต้องรันโปรแกรมใหม่ทั้งหมดตั้งแต่ต้น ทำให้การทำ Sensitivity Analysis ทำได้รวดเร็วมาก

  • Rich Documentation: รองรับการเขียนคำอธิบายด้วย Markdown และแสดงผลสมการทางเศรษฐมิติด้วย \(\LaTeX\) (เช่น \(\hat{\beta} = (X'X)^{-1}X'y\)) อย่างสวยงาม รวมถึงแสดงกราฟผลลัพธ์ (Data Visualization) ต่อท้ายโค้ดที่รันได้ทันที

  • Multi-language Support: แม้จะเน้น Python แต่ Jupyter รองรับ “Kernels” มากกว่า 100 ภาษา รวมถึง R และ Julia ซึ่งครอบคลุมเครื่องมือหลักของนักวิจัยยุคใหม่

Noteลิงก์และทรัพยากรที่แนะนำ:
  • Project Jupyter Official Site: https://jupyter.org/ หน้าหลักสำหรับดาวน์โหลดและศึกษาฟีเจอร์ล่าสุดของทั้ง Notebook และ JupyterLab

  • JupyterLab Documentation: https://jupyterlab.readthedocs.io/ คู่มือการใช้งานอย่างละเอียดสำหรับเวอร์ชัน Lab ซึ่งเป็น Next-generation interface

  • Try Jupyter (Free Cloud Demo): https://jupyter.org/try สำหรับให้นักศึกษาทดลองใช้งานผ่านเบราว์เซอร์ได้ทันทีโดยไม่ต้องติดตั้งโปรแกรมในเครื่อง

2.2.2 Google Colab: ขุมพลังบนคลาวด์สำหรับเศรษฐมิติและการเรียนรู้ของเครื่อง

Google Colaboratory หรือ “Colab” คือบริการคลาวด์จาก Google ที่พัฒนาต่อยอดมาจาก Project Jupyter โดยออกแบบมาเพื่อลดกำแพงด้านทรัพยากรฮาร์ดแวร์สำหรับนักวิจัยและนักศึกษา

  • High-Performance Computing: ในงานเศรษฐมิติยุคใหม่ที่ต้องอาซัยการจำลองสถานการณ์ที่ซับซ้อน (Simulation) หรือการประมวลผลข้อมูลขนาดใหญ่ (Big Data) Colab มอบสิทธิ์การใช้งาน GPU (Graphics Processing Unit) และ TPU (Tensor Processing Unit) ของ Google ฟรี ซึ่งช่วยลดเวลาในการประมวลผลจากหลายชั่วโมงให้เหลือเพียงไม่กี่นาที

  • Data Integration & Persistence: นักเศรษฐศาสตร์สามารถเชื่อมต่อ Colab เข้ากับ Google Drive เพื่อเรียกใช้ชุดข้อมูลขนาดใหญ่ (เช่น ข้อมูลรายได้ประชากรรายปี หรือข้อมูลตลาดหุ้นเรียลไทม์) และบันทึกผลลัพธ์การวิเคราะห์กลับลงในไดรฟ์ได้โดยตรง ทำให้การทำงานมีความต่อเนื่องและข้อมูลไม่สูญหาย

  • Reproducible Notebooks: Colab สนับสนุนการแชร์ “สมุดบันทึกงานวิจัย” ผ่านลิงก์เพียงลิงก์เดียว หรือจะบันทึกโค้ดลงใน GitHub ก็ได้ ช่วยให้อาจารย์และนักศึกษาสามารถร่วมกันตรวจสอบโค้ด (Code Review) และแก้ไขผลลัพธ์การวิเคราะห์ไปพร้อมกันได้แบบเรียลไทม์

Noteลิงก์และทรัพยากรที่แนะนำ:
  • Google Colab Main Page: https://colab.research.google.com/ ลิงก์เริ่มต้นสำหรับการสร้างสมุดบันทึกใหม่และใช้งานฟีเจอร์พื้นฐาน

  • Colab Welcome Notebook: https://colab.research.google.com/notebooks/intro.ipynb บทแนะนำฟีเจอร์เบื้องต้นอย่างละเอียดจากทีมพัฒนา Google

  • Resource Monitoring: https://research.google.com/colaboratory/faq.html คำถามที่พบบ่อยเกี่ยวกับการจัดการทรัพยากร (RAM/GPU) และข้อจำกัดในการใช้งานสำหรับงานวิจัยระยะยาว

2.2.3 VS Code (Visual Studio Code): ศูนย์กลางการพัฒนานวัตกรรมดิจิทัล

Visual Studio Code หรือ “VS Code” พัฒนาโดย Microsoft และได้กลายเป็นเครื่องมือที่ได้รับความนิยมสูงสุดในหมู่โปรแกรมเมอร์ทั่วโลก รวมถึงนักเศรษฐศาสตร์เชิงคำนวณที่ต้องการมากกว่าแค่การวิเคราะห์ข้อมูล แต่ต้องการสร้าง “ผลิตภัณฑ์” จากข้อมูลเหล่านั้น

  • From Analysis to Production: ในขณะที่ Jupyter เหมาะสำหรับการทดลอง VS Code ถูกออกแบบมาเพื่อการสร้างระบบที่ทำงานได้จริง นักศึกษาสามารถเขียน Script สำหรับดึงข้อมูล (Scraping), จัดการฐานข้อมูล (Database), และสร้างเว็บแอปพลิเคชันเพื่อนำเสนอผลแบบจำลอง (เช่น Streamlit หรือ Flask) ได้ภายในหน้าต่างเดียว

  • The Power of Extensions: จุดเด่นที่สุดคือ “ส่วนขยาย” (Extensions) ที่หลากหลาย เช่น:

    • Python Extension: ช่วยตรวจสอบข้อผิดพลาดขณะพิมพ์ (Linting) และจัดรูปแบบโค้ดให้สวยงามตามมาตรฐานสากล (Formatting)

    • Jupyter Extension: ช่วยให้นักศึกษาสามารถเปิดและรันไฟล์ .ipynb (Jupyter Notebook) ได้โดยตรงใน VS Code ทำให้ไม่ต้องสลับโปรแกรมไปมา

    • GitHub Copilot (AI Pair Programmer): เครื่องมือ AI ที่ช่วยแนะนำการเขียนโค้ดสถิติและฟังก์ชันที่ซับซ้อน ช่วยให้เรียนรู้การเขียนโปรแกรมได้เร็วขึ้นอย่างก้าวกระโดด

  • Integration with Quarto & Git: สำหรับนักวิจัยยุคใหม่ VS Code รองรับการทำงานกับ Quarto (สำหรับการทำเอกสารวิจัยและสไลด์แบบ Interactive) และ Git (สำหรับระบบควบคุมเวอร์ชันของงานวิจัย) อย่างสมบูรณ์แบบ ช่วยให้การทำงานร่วมกับทีมวิจัยขนาดใหญ่เป็นไปอย่างมืออาชีพ

Noteลิงก์และทรัพยากรที่แนะนำ:

2.2.4 RStudio (Posit): สะพานเชื่อมโยงสองภาษาเพื่อการวิเคราะห์สถิติขั้นสูง

RStudio (ซึ่งปัจจุบันอยู่ภายใต้บริษัท Posit) ไม่ได้จำกัดตัวเองอยู่แค่ภาษา R อีกต่อไป แต่ได้วิวัฒนาการสู่การเป็น IDE ที่รองรับ “Polyglot Data Science” หรือการทำงานหลายภาษาพร้อมกัน เพื่อดึงจุดแข็งของแต่ละภาษาออกมาใช้อย่างสูงสุด

  • Seamless Python Integration: ผ่านไลบรารี reticulate นักเศรษฐศาสตร์สามารถเรียกใช้ฟังก์ชันจาก Python (เช่น Scikit-learn สำหรับ ML) ภายใน R Markdown หรือเรียกใช้แพ็กเกจ R (เช่น fixest หรือ lfe สำหรับ Econometrics ขั้นสูง) ภายใน Python Script ได้อย่างไร้รอยต่อ ข้อมูลสามารถส่งผ่านไปมาระหว่างสองภาษาได้โดยไม่ต้องบันทึกเป็นไฟล์ใหม่

  • The Best of Both Worlds:

    • R: โดดเด่นด้านการวิเคราะห์สถิติเฉพาะทาง (Econometric Packages), การทำ Visualization ด้วย ggplot2 และการสร้างแอปพลิเคชันวิเคราะห์ข้อมูลด้วย Shiny รวมถึงชุดคำสั่งที่ได้รับความนิยมอย่างสูงในงาน Data Science คือ tidyverse

    • Python: โดดเด่นด้านการจัดการข้อมูลขนาดใหญ่ (Big Data), การประมวลผลภาษาธรรมชาติ (NLP) และ Machine Learning

  • Visual Data Management: RStudio มีหน้าต่าง Environment และ Data Viewer ที่ทรงพลังมาก ช่วยให้เราสามารถคลิกดูตารางข้อมูล (DataFrames) ค้นหา และกรองข้อมูลเบื้องต้นได้ทันทีโดยไม่ต้องเขียนโค้ดสั่งแสดงผล ซึ่งช่วยลดความผิดพลาดในการเตรียมข้อมูล (Data Wrangling) ได้ดีเยี่ยม

Noteลิงก์และทรัพยากรที่แนะนำ:

2.3 การเชื่อมโยงเครื่องมือในการทำงาน

ในส่วนก่อนหน้านี้ เราได้แนะนำเครื่องมือต่าง ๆ ที่จำเป็นสำหรับการวิเคราะห์ทางเศรษฐศาสตร์ ไม่ว่าจะเป็น Python, IDE (เช่น Jupyter, Colab, VS Code) และ Quarto อย่างไรก็ตาม นักศึกษาหลายคนอาจเกิดคำถามสำคัญว่า:

เครื่องมือเหล่านี้ทำงานร่วมกันอย่างไร?

หากมองแยกกัน เครื่องมือแต่ละตัวอาจดูเหมือนมีหน้าที่เฉพาะของตนเอง แต่ในทางปฏิบัติ นักเศรษฐศาสตร์ยุคใหม่ไม่ได้ใช้เครื่องมือเหล่านี้แบบแยกส่วน หากแต่ใช้เป็น “ระบบการทำงานเดียวกัน” (integrated workflow)

2.3.1 ภาพรวมของกระบวนการทำงาน

กระบวนการทำงานสามารถสรุปได้ดังนี้:

flowchart TD
    A[ติดตั้ง Python และ Libraries] --> B[เลือก IDE เช่น Jupyter / Colab / VS Code]
    B --> C[เขียนโค้ดวิเคราะห์ข้อมูล]
    C --> D[สร้างตารางและกราฟ]
    D --> E[เขียนรายงานด้วย Quarto]
    E --> F[Render เป็น HTML / PDF / Word]

Reproducitive work ทางเศรษฐศาสตร์ด้วย quarto

Noteคำอธิบายแต่ละขั้นตอน
  1. Python และ Libraries เป็นหัวใจหลักของการวิเคราะห์ ใช้สำหรับจัดการข้อมูล สร้างแบบจำลอง และคำนวณทางเศรษฐศาสตร์

  2. IDE (Integrated Development Environment) เช่น Jupyter Notebook, Google Colab หรือ VS Code ใช้เป็นพื้นที่สำหรับเขียนและทดลองโค้ด นักศึกษาสามารถรันโค้ดทีละส่วน แก้ไข และดูผลลัพธ์ได้ทันที

  3. การวิเคราะห์ข้อมูล (Analysis) ในขั้นตอนนี้ นักเศรษฐศาสตร์จะใช้ Python เพื่อ:

    • จัดการข้อมูล (Data Cleaning)

    • วิเคราะห์เชิงสถิติ

    • สร้างแบบจำลอง (Regression, Forecasting)

  4. การสร้างกราฟและตาราง (Visualization) ผลลัพธ์จากการวิเคราะห์จะถูกแสดงในรูปแบบ:

    • ตาราง

    • กราฟ

    • แผนภาพ

เพื่อช่วยให้เข้าใจข้อมูลได้ง่ายขึ้น

  1. การเขียนรายงานด้วย Quarto แทนที่จะคัดลอกผลลัพธ์ไปใส่ใน Word หรือ PowerPoint นักศึกษาสามารถเขียนรายงานในไฟล์ .qmd ซึ่งรวม:

    • โค้ด

    • ผลลัพธ์

    • คำอธิบาย

ไว้ในไฟล์เดียว

  1. การ Render รายงาน* Quarto จะทำการประมวลผลไฟล์ .qmd และสร้างเอกสารออกมาเป็น:

    • HTML (สำหรับเว็บ)

    • PDF (สำหรับงานวิชาการ)

    • Word (สำหรับการใช้งานทั่วไป)

2.3.2 การทำงานแบบเชื่อมโยง

จุดสำคัญของ workflow นี้คือ “การเชื่อมโยงกันของทุกขั้นตอน” เมื่อมีการเปลี่ยนแปลง เช่น:

  • แก้ไขข้อมูล

  • เปลี่ยนสมมติฐานของแบบจำลอง

นักศึกษาสามารถแก้ไขโค้ดเพียงครั้งเดียว แล้วทำการ Render ใหม่ ผลลัพธ์ทั้งหมด เช่น ตาราง กราฟ และรายงาน จะถูกอัปเดตโดยอัตโนมัติ

Importantเปรียบเทียบกับวิธีการแบบเดิม

วิธีแบบเดิม:

  • วิเคราะห์ใน Excel หรือ Stata

  • คัดลอกกราฟไปใส่ Word

  • เขียนรายงานแยก

  • เมื่อข้อมูลเปลี่ยน ต้องแก้ไขหลายจุด

วิธีแบบ Reproducible Workflow:

  • วิเคราะห์ด้วย Python

  • เขียนรายงานใน Quarto

  • กด Render เพื่ออัปเดตทั้งหมดในครั้งเดียว

เป้าหมายของการใช้ Python และ Quarto ไม่ใช่เพียงเพื่อ “เขียนโค้ด”

แต่เพื่อสร้างระบบการทำงานที่สามารถตรวจสอบ ทำซ้ำ และลดความผิดพลาดได้

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

Warningคำแนะนำสำหรับผู้เริ่มต้น

สำหรับนักศึกษาที่เพิ่งเริ่มต้น อาจยังไม่จำเป็นต้องใช้ทุกเครื่องมือพร้อมกันในทันที สามารถเริ่มจาก:

  • Google Colab (ไม่ต้องติดตั้ง) หรือ
  • Jupyter Notebook ผ่าน Anaconda

เมื่อคุ้นเคยแล้ว จึงค่อยเรียนรู้การใช้ Quarto เพื่อสร้างรายงานแบบครบวงจร

2.4 Reproducible Research with Quarto: มาตรฐานใหม่ของการสื่อสารงานวิจัยดิจิทัล

ในยุคที่ความน่าเชื่อถือของข้อมูล (Data Integrity) เป็นเรื่องสำคัญที่สุด Quarto คือระบบเผยแพร่ผลงานทางวิทยาศาสตร์และเทคนิค (Scientific Publishing System) ที่ช่วยให้นักเศรษฐศาสตร์สามารถสร้างงานวิจัยที่ “ทำซ้ำได้” (Reproducible) โดยรวมเอาโค้ด ข้อมูล คำอธิบาย และผลลัพธ์ไว้ในเอกสารฉบับเดียว

  • Unified Workflow: Quarto รองรับการเขียนโค้ดทั้งภาษา Python, R, Julia และ Observable JS (OJS) ในไฟล์เดียว นักวิจัยสามารถใช้ Python ในการวิเคราะห์ข้อมูลเศรษฐมิติ และใช้ OJS ในการสร้าง Interactive Dashboard บนหน้าเว็บได้ทันที โดยไม่ต้องสลับซอฟต์แวร์

  • From Code to Professional Output: ด้วย Quarto นักศึกษาเขียนเนื้อหาเพียงครั้งเดียว แต่สามารถแปลงผลลัพธ์ (Render) ออกมาได้หลากหลายรูปแบบที่คุณภาพระดับมืออาชีพ:

    • HTML Book/Website: สำหรับการสร้าง Interactive Course Materials หรือ Online Reports ที่มีกราฟเคลื่อนไหวได้

    • PDF (LaTeX): สำหรับการส่งบทความวิจัยตีพิมพ์ในวารสารวิชาการที่ต้องการฟอร์แมตมาตรฐาน

    • MS Word: สำหรับการทำงานร่วมกับหน่วยงานที่ยังใช้เครื่องมือสำนักงานแบบดั้งเดิม

  • Dynamic Content & Interactivity: Quarto อนุญาตให้ฝัง Observable JS เพื่อสร้างองค์ประกอบที่โต้ตอบได้ (Interactive Elements) เช่น การอนุญาตให้ผู้อ่านขยับ Slider เพื่อเปลี่ยนค่าพารามิเตอร์ของนโยบาย (เช่น อัตราภาษี) แล้วดูผลกระทบต่อกราฟเส้นอุปสงค์-อุปทานได้แบบเรียลไทม์ ซึ่งช่วยยกระดับการเรียนรู้เศรษฐศาสตร์ให้จับต้องได้มากขึ้น

Noteลิงก์และทรัพยากรที่แนะนำ:
  • Quarto Official Website: https://quarto.org/ แหล่งข้อมูลหลักสำหรับดาวน์โหลดและศึกษาฟีเจอร์ทั้งหมด

  • Quarto for Python: https://quarto.org/docs/computations/python.html — คู่มือการใช้ Quarto ร่วมกับ Jupyter และ VS Code

หนังสือเล่มนี้ผู้เขียนใช้งาน Python และ quarto ผ่านโปรแกรม RStudio ดังนั้น

2.5 การสร้างโปรเจกต์แรก

ให้นักศึกษาลองเปิดโปรแกรม IDE ที่ผู้อ่านเลือกใช้่แนะนำ VS code หรือ RStudio

แล้วสร้างไฟล์ชื่อ hello_econ.qmd จากนั้นคัดลอกข้อความนี้ลงไป:

---
title: "รายงานเศรษฐศาสตร์ฉบับแรก"
author: "ชื่อของนักศึกษา"
format: html
---

## บทวิเคราะห์เบื้องต้น
ลองรันโค้ด Python ใน Quarto:

```{python}
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 100)
y = np.sin(x)

plt.plot(x, y)
plt.title("Economic Cycle Simulation")
plt.show()
```

การตรวจสอบผลลัพธ์: ให้อ่านลองทำการ render ผ่านปุ่มบน IDE หรือทาง terminal ของแต่ละโปรแกรม quarto จะทำการประมวลผลโค้ดและสร้างหน้าเว็บ HTML ที่มีกราฟปรากฏขึ้นมาโดยอัตโนมัติดังนี้

ตัวอย่างการ render hello_econ.qmd ด้วยโปรแกรม RStudio

ตัวอย่างการ render hello_econ.qmd ด้วยโปรแกรม RStudio
Importantหมายเหตุ

python ที่ใช้หนังสือเล่มนี้

คลิกเพื่อดูโค้ดไพธอน
import sys
print(sys.version)
3.13.13 (main, Apr  7 2026, 18:19:01) [Clang 21.0.0 (clang-2100.0.123.102)]

ชุดคำสั่งทั้งหมดที่ใช้

numpy==2.0.2
pandas==2.2.3
matplotlib==3.9.4
seaborn==0.13.2
statsmodels==0.14.6
scipy==1.13.1
plotly==6.6.0
openpyxl==3.1.5
yfinance==1.2.0