1 คะแนน โดย GN⁺ 2024-08-01 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เป็นต้นฉบับเพื่อการเรียนรู้สำหรับผู้ที่เรียนหรือสอน linear regression โดยอิงจากโน้ตการสอนวิชา Carnegie Mellon 36-401 Modern Regression ในฤดูใบไม้ร่วงปี 2015
  • ไม่ผูก linear regression ไว้กับสมมติฐานแบบยุคปี 1960 และลดสัดส่วนทฤษฎีที่พึ่งพา Gaussian noise กับโมเดลเชิงเส้นที่ระบุอย่างถูกต้อง
  • ให้ความสำคัญกับเทคนิคที่ทนทาน (robust) แม้จะใช้การคำนวณมากกว่า และระบุว่าต้นฉบับเองก็อาจยังไปไม่ไกลพอในทิศทางนั้น
  • มีบางส่วนทับซ้อนกับบทที่สองของ Advanced Data Analysis from an Elementary Point of View แต่ก็มีเนื้อหาใหม่และเนื้อหาระดับพื้นฐานกว่าจำนวนมาก
  • สารบัญครอบคลุมกว้าง ตั้งแต่การพยากรณ์ที่เหมาะสมที่สุด, least squares, maximum likelihood, diagnostics, inference, multicollinearity, model selection, weighted/generalized least squares, variable selection, trees ไปจนถึง bootstrap

ลักษณะและแนวทางของต้นฉบับ

  • ต้นฉบับนี้เป็นเอกสารที่รวบรวมโน้ตการสอนวิชา 36-401, Modern Regression, in fall 2015
  • แม้จะยอมรับว่ามีสื่อเกี่ยวกับ linear regression อยู่มากแล้ว แต่ก็เผยแพร่ด้วยมองว่าอาจเป็นประโยชน์ต่อผู้ที่เรียนหรือสอน
  • จากมุมมองที่ว่าสถิติศาสตร์ได้พัฒนาต่อมาหลังปี 1960 เอกสารนี้จึงลดการเน้นทฤษฎีที่อาศัยโมเดลเชิงเส้นที่ระบุอย่างถูกต้องและ Gaussian noise
  • โครงสร้างเอนเอียงไปทางการชอบใช้เทคนิคที่ทนทานแม้จะใช้การคำนวณมากกว่า และผู้เขียนเสริมว่าอาจยังไม่ได้ไปไกลพอในทิศทางนั้น
  • มีบางส่วนทับซ้อนกับ Advanced Data Analysis from an Elementary Point of View โดยเฉพาะเกี่ยวข้องกับบทที่สอง “The Truth About Linear Regression”
  • ขณะเดียวกันก็มีเนื้อหาใหม่และเนื้อหาระดับพื้นฐานกว่าจำนวนมาก และยินดีรับความคิดเห็นกับการแก้ไข โดยเฉพาะการแก้ข้อผิดพลาด

ขอบเขตที่ครอบคลุมและการอัปเดต

  • สารบัญปัจจุบันไล่ตั้งแต่การทำโมเดลพื้นฐานของ linear regression ไปจนถึง diagnostics, inference และเทคนิคขยายต่าง ๆ
  • การทำโมเดลพื้นฐานและ simple regression

    • Optimal Prediction
    • Introducing Statistical Modeling
    • Simple Linear Regression Models, with Hints at Their Estimation
    • The Method of Least Squares for Simple Linear Regression
    • The Method of Maximum Likelihood for Simple Linear Regression
    • Diagnostics and Modifications for Simple Regression
    • Inference on Parameters
    • Predictive Inference for the Simple Linear Model
    • Interpreting Parameters after Transformation
    • F-Tests, R^2, and Other Distractions
    • Simple Linear Regression in Matrix Format
  • multiple regression และหัวข้อขยาย

    • Multiple Linear Regression
    • Diagnostics and Inference for Multiple Linear Regression
    • Polynomial and Categorical Regression
    • Multicollinearity
    • Tests and Confidence Sets
    • Interactions
    • Outliers and Influential Points
    • Model Selection
    • Review
    • Weighted and Generalized Least Squares
    • Variable Selection
    • Trees
    • The Bootstrap I
    • The Bootstrap II
    • ในอนาคต เอกสาร linear spatio-temporal estimation and prediction จากวิชา Data Over Space and Time อาจถูกรวมไว้ในต้นฉบับนี้
    • มีการกล่าวถึง Wiener filter, kriging เป็นต้นเป็นตัวอย่าง
    • การอัปเดตข้อความครั้งล่าสุดคือการรันโค้ดใหม่หลังอัปเดต R และการแก้คำผิด โดยลงวันที่ 20 ตุลาคม 2025

1 ความคิดเห็น

 
GN⁺ 2024-08-01
ความคิดเห็นจาก Hacker News
  • การถดถอยเชิงเส้น มักถูกประเมินค่าต่ำเกินไป

    1. การทดสอบทางสถิติที่ใช้กันทั่วไปทั้งหมดล้วนเป็นแบบจำลองเชิงเส้น: https://lindeloev.github.io/tests-as-linear/
    2. แบบจำลองเชิงเส้นหมายถึง เป็นเชิงเส้นต่อพารามิเตอร์ ไม่ใช่ต่อค่าตอบสนอง ตัวอย่างเช่น y = a*sin(x)+bx^2 ก็เป็นแบบจำลองเชิงเส้น
    3. หากเลือก ฐานสปลายน์ ได้เหมาะสม ความสัมพันธ์ไม่เชิงเส้นจำนวนมากระหว่างตัวแปรทำนายกับค่าตอบสนองก็สามารถสร้างแบบจำลองด้วยแบบจำลองเชิงเส้นได้
    4. ถึงอย่างนั้น หากยังขาดความยืดหยุ่น ตามทฤษฎีบทเทย์เลอร์ ความสัมพันธ์เชิงเส้นก็มักเป็นการประมาณที่ดีของความสัมพันธ์ไม่เชิงเส้น
    • เห็นด้วยกับประเด็นเหล่านี้ทั้งหมดอย่างยิ่ง และแบบจำลองเชิงเส้นควรได้รับการยอมรับมากกว่านี้มาก
      อีกประเด็นสำคัญคือ มนุษย์ โดยเฉพาะในระดับกลุ่ม มักตัดสินใจอย่างมีเหตุผลได้ยากเกินกว่า การตัดสินใจเชิงเส้น
      ในการประชุมเพื่อกำหนดทิศทางบริษัท เราก็มักพูดได้แค่ประมาณว่า “เพิ่มงบโฆษณา และลดต้นทุนการได้มาซึ่งลูกค้าแบบอื่นอย่างคูปองส่วนลด” การหาสมดุลระหว่าง “การเพิ่มงบโฆษณา” กับ “การลดต้นทุนอื่น” ก็คือแบบจำลองเชิงเส้นอย่างง่าย
      ต่อให้มีแบบจำลองไม่เชิงเส้นที่ยอดเยี่ยม หัวใจสำคัญก็ไม่ใช่แค่ “การตีความได้” แต่คือ การนำไปปฏิบัติได้จริง เมื่อเอาผลการวิเคราะห์การถดถอยเข้าไปในห้องประชุม เราสามารถจำลองกลยุทธ์หลายแบบได้อย่างรวดเร็วและสร้างความมั่นใจเชิงเหตุผลต่อทิศทางได้
      ผมเคยลำบากกับการสื่อสารอินไซต์ที่นำไปใช้ได้จริงขึ้นไปยังผู้บริหาร แต่หลังจากเข้าใจการวิเคราะห์การถดถอยอย่างถูกต้องแล้ว ก็พบว่าน่าประหลาดใจว่าการเปิดดูและทำความเข้าใจกระบวนการธุรกิจที่ค่อนข้างซับซ้อนได้รวดเร็วขึ้นมาก
    • ในส่วนที่เกี่ยวกับข้อ 3 ผมใช้ แบบจำลองบวกทั่วไป ได้ค่อนข้างสำเร็จในเชิงเทคนิคทั้งในงานวิจัยทางวิชาการและงานในอุตสาหกรรมส่วนใหญ่ กล่าวคือ มันฟิตกับข้อมูลได้ดี
      ถึงอย่างนั้นก็แทบไม่ค่อยมีผู้มีส่วนได้ส่วนเสียที่เข้าใจมันอย่างถูกต้องหรือเห็นคุณค่าของมัน ส่วนใหญ่ผมคิดว่าเป็นเพราะความขี้เกียจและความเคยชิน
    • ถ้ามีแหล่งอ้างอิงที่มีประโยชน์เกี่ยวกับข้อ 3 ก็อยากทราบ
      ปัญหาที่เจอบ่อยในวรรณกรรมคือผู้เขียนมักตีความเกินจริงกับแบบจำลองที่มีพจน์กำลังสอง เช่น Y = age + age^2 โดยเฉพาะความชันในช่วงอายุต่ำสุดหรือสูงสุด กราฟอาจดูเหมือนลดลงในวัยสูงสุดถ้ามองแต่เส้นโดยไม่ดูช่วงความเชื่อมั่น แต่จริง ๆ แล้วความชันติดลบที่เห็นอาจเป็นเพียงภาพลวง เพราะ แบบจำลองกำลังสองไม่สามารถแสดงเส้นกำกับเข้าใกล้ ได้ ตัวอย่าง: https://www.researchgate.net/figure/Scatter-plot-of-the-quad...)
      เมื่อไม่มีตัวเลือกที่กำหนดไว้โดยทฤษฎี ผมจะใช้ พหุนามเศษส่วน ตัวอย่างเช่น กำหนด x^s โดยให้ s = {−2, −1, −0.5, 0, 0.5, 1, 2, 3} แล้วเลือกพหุนามที่ฟิตดีที่สุดโดยหลีกเลี่ยงการฟิตเกิน: https://journal.r-project.org/articles/RN-2005-017/RN-2005-0...
      มันไม่ใช่เทคนิคที่แย่ และผมก็ลองวิธีอื่นด้วย เช่น การถดถอยพหุนามแบบแบ่งช่วงหรือการวางจุดปม แต่ผมไม่ค่อยแน่ใจว่าจะทดสอบปฏิสัมพันธ์ระหว่างกลุ่มสองกลุ่มที่มีสปลายน์พร้อมจุดปมได้อย่างไร แบบจำลองบวกก็คล้ายกัน: https://bookdown.org/ssjackson300/Machine-Learning-Lecture-N...
    • ถ้าจับมุมมองให้ดี SVM ก็เป็นแบบจำลองเชิงเส้นล้วน ๆ และถ้ามองแบบลดทอนมาก ๆ โครงข่ายประสาทเทียม ReLU ก็อาจถือได้ว่าเป็นเชิงเส้นแบบแบ่งช่วง
      แต่การอธิบายแบบนี้อาจปิดบังมากกว่าจะช่วยให้เข้าใจ การเลือกทรานส์ฟอร์มที่เหมาะกับกรณีเฉพาะนั้นเป็นปัญหาที่ยากมาก ทำไมต้องเป็น sin(x) กับ x^2 ไม่ใช่ tanh(x) กับ x^(1/2) ด้วยล่ะ
    • ผมแทบไม่มีความรู้คณิตศาสตร์เลย เลยรู้สึกว่าข้อ 2 น่าประหลาดใจ พอลองค้นคร่าว ๆ ก็เห็นว่ามีคำอธิบายว่าแบบจำลองเชิงเส้นเมื่อนำไปวาดกราฟต้องได้เส้นตรง แต่สมการตัวอย่างที่ยกมานั้นไม่ใช่เส้นตรง
      เหมือนผมกำลังพลาดอะไรพื้นฐานบางอย่างอยู่
  • ในการทำรีเกรสชัน เทคนิคที่สำคัญที่สุดคือ การมองให้ออกว่า intercept คืออะไร ฟังดูเป็นเรื่องเล็กและจริง ๆ ก็เล็ก แต่พอเริ่มใส่ปฏิสัมพันธ์ระหว่างพจน์แล้วเรื่องจะเปลี่ยนไป เห็นนักศึกษาปริญญาโท/เอกอายุน้อยพลาดตรงนี้บ่อยมาก
    ลองนึกถึงโมเดลเชิงเส้นอย่างง่ายที่ใช้คะแนนสอบ อายุ (7~16 ปี) และตัวแปรจัดหมวดหมู่แบบไบนารีคือการวินิจฉัยออทิซึม (0=กลุ่มควบคุม, 1=ออทิซึม) จะได้ score = age + diagnosis + age:diagnosis หรือ score = (X1)age + (X2)diagnosis + (X3)age:diagnosis
    ถ้า X2 มีนัยสำคัญ นักศึกษาที่มองแบบตรงไปตรงมาอาจพูดว่า “มีความแตกต่างระหว่างกลุ่ม!” แต่จะพลาดประเด็นที่ว่านี่คือ ความแตกต่างของกลุ่มที่คาดการณ์ไว้เมื่อผู้เข้าร่วมมีอายุ 0 ปี ควรทำ centering ของอายุด้วยค่าเฉลี่ย มัธยฐาน หรือดีกว่านั้นคืออายุที่สนใจ เมื่อมีปฏิสัมพันธ์อยู่ในสมการ ค่าประมาณพารามิเตอร์ทั้งหมดที่เป็น “ลำดับต่ำกว่า” จะถูกตีความโดยอิงกับ intercept
    เราอาจเห็นว่าเอฟเฟกต์ของอายุมีนัยสำคัญแล้วคิดว่าใช้ได้กับทั้งสองกลุ่ม แต่ X1 บอกเพียงความชันที่คาดการณ์ไว้ของกลุ่มอ้างอิงคือกลุ่มควบคุมเท่านั้น ปฏิสัมพันธ์เป็นการทดสอบว่าความชันตามอายุของสองกลุ่มต่างกันหรือไม่ ยิ่งไปกว่านั้น แม้ปฏิสัมพันธ์จะไม่มีนัยสำคัญ ก็ยังเป็นไปได้ว่าเอฟเฟกต์ของอายุในกลุ่มออทิซึมไม่ได้แตกต่างจาก 0 อย่างมีนัยสำคัญ ถ้าข้อมูลอยู่ในช่วงที่กำกวม ก็ต้องระวังในการตีความ
    สำหรับบางคนเรื่องนี้อาจดูชัดเจนอยู่แล้ว แต่การเข้าใจ conditional space ของพารามิเตอร์ให้ถูกต้องเมื่อมีพจน์ปฏิสัมพันธ์นั้นต้องใช้ความพยายาม ที่นี่ผมยังละเรื่องวิธีเข้ารหัสกลุ่ม เช่น จะอิงค่าเฉลี่ยรวม หรือใช้อีกกลุ่มหนึ่งเป็นฐาน แต่บทเรียนยังเหมือนเดิม ต้องเข้าใจว่า intercept หมายถึงอะไร และชี้ไปที่ใคร/อะไร

    • โมเดลที่มีพจน์ปฏิสัมพันธ์ มักทำให้จับสัญชาตญาณได้ยากเสมอ ปกติถ้าเขียนออกมาว่าแต่ละ response class มีพจน์ใดของโมเดลเข้าไปบ้าง จะช่วยในการตีความได้
      มี ExploreModelMatrix ที่ช่วยงานนี้ด้วย: https://www.bioconductor.org/packages/release/bioc/html/Expl...
    • ถ้าผมพูดอะไรแปลก ๆ ข้างบนก็บอกได้ ยังเรียนรู้อยู่เรื่อย ๆ
      ถ้าคุณเป็นสาย Bayesian แบบไม่ชอบ p-value ก็ไม่เป็นไร แค่อยากชี้ว่าผมเห็นแม้แต่นักเรียนฉลาด ๆ ก็ยังลำบากกับการตีความ โมเดลที่มีพจน์ปฏิสัมพันธ์ แบบเป็นธรรมชาติ และอยากชี้ทางที่ถูกต้อง
    • คำพูดที่ว่า “X1 บอกเพียงความชันที่คาดการณ์ไว้ของกลุ่มอ้างอิงคือกลุ่มควบคุม” นั้นไม่ถูก ถ้าใช้สมการตามที่เขียน X1 เป็นค่าของทั้งกลุ่มรวมกัน ยังไม่ได้สร้าง dummy variable ที่ถูกต้อง
      X1*age*isControl+X2*isControl+X3*isAutism+X4*isAutism*age+X5*age
      ต้องเป็นแบบนี้จึงจะแยกเอฟเฟกต์ของอายุในสองกลุ่ม และเอฟเฟกต์อายุที่ใช้ร่วมกันของทั้งสองกลุ่มออกจากกันได้
    • การตีความนี้น่าจะถูกต้อง
      ค่าน้ำหนักที่มีนัยสำคัญของตัวแปรการวินิจฉัย X2 ไม่ได้บอกเอฟเฟกต์ของการวินิจฉัยที่อายุใดอายุหนึ่ง ยกเว้นที่ อายุ 0 ปี
      ควรทำ centering ของโมเดลใหม่โดยใช้อายุที่สนใจเป็นฐาน
  • เมื่อ 10 ปีก่อนผมเรียน 36-401 และ 36-402 ที่ CMU ตอนนั้น Shalizi เป็นคนสอน และทั้งสองวิชาก็เป็นวิชาสถิติที่ดีมาก ไม่ว่าจะมองว่าดีหรือร้าย มันทำให้ต้องเรียน base R
    จุดอ่อนใหญ่ของ linear regression คือสมมติฐานเชิงวิชาการที่จำเป็นต่อการตีความค่าสัมประสิทธิ์อย่างมีความหมาย ทำได้ง่ายกับชุดข้อมูลเล็ก ๆ สำหรับการสอน แต่แทบใช้ไม่ได้กับข้อมูลจริงที่เละเทะ และผมก็ได้เรียนรู้เรื่องนี้แบบเจ็บ ๆ

    • มันขึ้นอยู่กับกรณี สมมติฐานที่สำคัญที่สุดคือ ความเป็นอิสระของการสังเกต
      ถ้าไม่มีสิ่งนี้ ก็ต้องใช้ mixed-effects model เพื่อสะท้อนการตอบสนองที่มีความสัมพันธ์กัน หรือไม่ก็เฉลี่ยรวมคำตอบเข้าด้วยกัน การหา average จะลดความแปรปรวนลง แต่ก็ลดจำนวน data point ด้วย และสองอย่างนี้มักหักล้างกันตอนคำนวณ t-statistic ของ Wald test
      สำหรับสมมติฐานอื่น เช่น residual ต้องเป็นปกติ โมเดลเชิงเส้นมักทนต่อการละเมิดได้ระดับหนึ่ง ถึงอย่างนั้นก็ควรเข้าใจเสมอว่าการละเมิดเหล่านั้นส่งผลอย่างไร เช่น ลองรัน simulation หรือดู p-value histogram ของข้อมูลภายใต้สมมติฐานศูนย์
    • ในทางกลับกัน กับข้อมูลจริงที่เละเทะ หลายครั้งสิ่งสำคัญอาจไม่ใช่การหมกมุ่นกับว่า p-value เป็นอย่างไร แต่เป็นการมี โมเดลที่ดีพอใช้ได้
  • ผมชอบที่มีการแนะนำ ridge regression ในบริบทของ multicollinearity
    ทุกวันนี้ดูเหมือนเกือบทุกคนจะเรียนมันในฐานะเทคนิค regularization เพื่อป้องกัน overfitting แต่หนึ่งในจุดประสงค์ดั้งเดิมหลัก ๆ และน่าจะเป็นที่มาของมัน คือการกระจายน้ำหนักอย่างสมดุลระหว่างตัวแปรพยากรณ์ที่มีความสัมพันธ์กันสูงหรือเกือบพึ่งพาเชิงเส้นกัน แม้จะมีข้อมูลมากพอ ตัวแปรพยากรณ์แบบนี้ก็ยังสร้างปัญหาใหญ่ได้

  • อยากเห็นคนอย่างนักวิจัยเชิงปริมาณของ Citadel มาสอน linear regression ว่าพวกเขาใช้มันอย่างไร โดยเฉพาะสนใจอะไร มีผลลัพธ์เชิงทฤษฎีอะไรไหมที่เปลี่ยนวิธีมองปัญหาอย่างมีนัยสำคัญ

    • พอมีประสบการณ์เกี่ยวข้องอยู่บ้าง ตัวแปรแบบ regularized เป็นสิ่งจำเป็น ขนาดตัวอย่างน้อยเกินไป และ noise ต่อหนึ่งตัวอย่างก็สูงมาก
      ในปัญหาที่เกี่ยวข้องอย่างการประมาณ covariance matrix ก็มีพวก shrinkage estimator ที่นิยมใช้ แบบง่ายที่สุดคือ Linear Shrinkage ของ Ledoit-Wolf
      ถ้าไม่นับ neural network ดูเหมือนคนส่วนใหญ่ที่ทำ regression จะใช้ linear regression ที่ผ่านการปรับแต่งเฉพาะทางแบบนี้ตามโดเมน
      โดยเฉพาะในสายการเงิน มันง่ายมากที่จะหลอกตัวเองด้วยโมเดลที่ซับซ้อนกว่า
    • linear regression โดยเฉพาะ รีเกรสชันที่มีตัวแปรพยากรณ์ตัวเดียว เป็นเครื่องมือหลัก เหมือนว่าแค่ cross-product x'*y ยังไม่พอ แต่พอหารด้วย inner product x'*x ก็พอดีเลย (ได้รีเกรสชัน) และถ้าเอาไปหารด้วย inner product อีกตัวคือ y'*y พร้อมถอดราก ก็จะกลายเป็นค่าสหสัมพันธ์ซึ่งดูเยอะเกินไป
      น่าเสียดายที่ไม่มีความลับใหญ่หรือเรื่องเปิดโปงอะไร อย่างที่ Jim Simons พูดในบทสัมภาษณ์กับ Numberphile มันคือการค่อย ๆ สะสมสัญญาณอ่อน ๆ อย่างช้า ๆ และเจ็บปวด พร้อมกับสร้างและปรับปรุงกล่องต่าง ๆ ของระบบไปเรื่อย ๆ ระหว่างนั้นอินเทอร์เฟซต่าง ๆ ก็เป็นที่รู้กันโดยมาก
      ในภาพรวม วิธี fit โมเดลเองไม่ได้ให้กำไรอย่างมหาศาล แค่อย่าทำพังก็พอ
      ผมไม่ได้อยู่ที่ Citadel แต่ทำงาน R&D และเทรดดิ้งเชิงปริมาณมา 20 ปีแล้ว
  • ตอนเรียนปริญญาตรี ผมต้องกลับมาเรียน linear regression ซ้ำแล้วซ้ำอีกในหลายวิชา แน่นอนว่าภายใต้สมมติฐานที่เป็นจริง มันน่าสนใจที่เราพิสูจน์ความเหมาะที่สุดของมันได้ด้วยทฤษฎีสถิติและความน่าจะเป็น
    ตอนเรียนปริญญาเอกด้านวิทยาการคอมพิวเตอร์ ผมเห็นโจทย์ regression ที่ส่วนใหญ่ใช้โมเดล deep learning แม้ไม่ได้ทำโดยตรง แต่ถ้ามีวิธีนำการพิสูจน์และทฤษฎีบทที่เข้มงวดของโมเดลเชิงเส้นแบบดั้งเดิมไปใช้กับ โมเดล deep regression ได้ ก็คงเจ๋งมาก

  • “Data Analysis from an Elementary Point of View” ของ Shalizi ก็เป็นตำราเบื้องต้นที่ดีเช่นกัน: https://www.stat.cmu.edu/~cshalizi/ADAfaEPoV/
    เนื้อหาให้น้ำหนักกับแบบจำลองเชิงเส้น, แบบจำลองบวก, และการจำลองเป็นหลัก ซึ่งเป็นทิศทางที่ถูกต้อง 90% ของหนังสือเล่มนี้แทบไม่มีประโยชน์หากไม่มีคอมพิวเตอร์ แต่นั่นก็คือความจริงของยุคปัจจุบัน

  • เหมือนบทความนี้จะยังไม่ได้กล่าวถึง แต่ใน linear regression ก็มี ปรากฏการณ์ double descent ที่พบได้บ่อยใน deep learning เช่นกัน
    ถ้าจะให้เห็นสิ่งนี้ ต้องใส่ regularization บางอย่างเข้าไป คิดว่าน่าจะดีถ้าเพิ่มประเด็นนี้เข้าไปด้วย

    • สงสัยว่าหมายถึงงานวิจัยฉบับไหนเป็นพิเศษหรือเปล่า การลดลงครั้งที่สองเกิดขึ้นหลังจากที่แบบจำลองถูก overparameterized เหมือน neural network ใช่ไหม? แล้วก็สงสัยด้วยว่าเป็น regularization แบบไหน
  • ในฐานะคนที่กำลังสอน การถดถอยด้วย XGBoost อยู่ในเดือนนี้ นี่เป็นบทความที่อ่านได้ดีมาก ต่างจากตำราวิชาการจำนวนมาก ตรงที่เขียนได้ดีมากและเข้าถึงง่าย
    โดยเฉพาะบทที่ 6, การวินิจฉัยเชิงภาพ ชอบมาก ทำได้ดีมาก

  • ดูน่าสนใจดี แต่อยากรู้ว่ามีวิธีแปลง PDF นี้ให้อยู่ในรูปแบบที่เหมาะกับมือถือ ไหม