การวิเคราะห์สถิติด้วย Statistical Parametric Mapping (SPM) สำหรับการวิจัยทางชีวกลศาสตร์การกีฬา


ในงานวิจัยทางชีวกลศาสตร์การกีฬา นักวิจัยมักเก็บข้อมูลที่เป็นแบบต่อเนื่องตลอดช่วงเวลาการเคลื่อนไหว (continuous data) เช่น มุมของข้อต่อ แรงกระแทกจากพื้น (ground reaction force) หรือสัญญาณไฟฟ้าจากกล้ามเนื้อ (EMG signal) ข้อมูลเหล่านี้แสดงให้เห็นการเปลี่ยนแปลงอย่างต่อเนื่องในแต่ละช่วงเวลา ซึ่งสามารถสะท้อนถึงลักษณะเฉพาะของการเคลื่อนไหว เช่น การเตะ การกระโดด หรือการออกหมัดในกีฬาต่อสู้

อย่างไรก็ตาม วิธีการวิเคราะห์แบบดั้งเดิมที่ใช้กันทั่วไป มักเน้นเพียง “จุดใดจุดหนึ่ง” ของข้อมูล เช่น ค่ามากที่สุด (peak value) ค่าต่ำสุด หรือค่ากลางของกราฟ ซึ่งเรียกว่า discrete point analysis ตัวอย่างเช่น การเปรียบเทียบแรงกระแทกสูงสุดของนักวิ่งสองกลุ่ม หรือการวัดมุมข้อเข่าสูงสุดในขณะกระโดด เพื่อสรุปความแตกต่างของการเคลื่อนไหว

ถึงแม้วิธีนี้จะใช้ง่ายและเข้าใจได้ไม่ยาก แต่ก็มีข้อจำกัดสำคัญ เพราะข้อมูลการเคลื่อนไหวของมนุษย์ไม่ได้เกิดขึ้นเฉพาะ “จุดเดียว” การเปลี่ยนแปลงที่สำคัญอาจเกิดขึ้นในช่วงเวลาอื่นของการเคลื่อนไหว ซึ่ง discrete point analysis ไม่สามารถตรวจจับได้ ตัวอย่างเช่น นักกีฬาสองคนอาจมีค่ามุมข้อเข่าสูงสุดเท่ากัน แต่รูปแบบการเคลื่อนไหวในช่วงก่อนถึงจุดนั้นต่างกันโดยสิ้นเชิง ซึ่งอาจสะท้อนถึงความแตกต่างในกลยุทธ์การควบคุมการเคลื่อนไหว Movement Synergy หรือความเสี่ยงต่อการบาดเจ็บ Risk of Injury

เพื่อตอบโจทย์ข้อจำกัดนี้ นักวิจัยชีวกลศาสตร์จึงเริ่มนำเทคนิค Statistical Parametric Mapping (SPM) มาใช้ในการวิเคราะห์ข้อมูลแบบต่อเนื่อง โดย SPM จะวิเคราะห์ “ทั้งช่วงของชุดข้อมูล” แทนที่จะดูเพียงค่าจุดเดียว วิธีนี้ทำให้สามารถระบุได้ว่าความแตกต่างทางสถิติเกิดขึ้น “ที่ช่วงเวลาใดของการเคลื่อนไหว”

ตัวอย่างเช่น ในการศึกษาการลงน้ำหนักเท้าของนักฟุตบอล SPM อาจแสดงให้เห็นว่ากลุ่มนักกีฬาที่บาดเจ็บเอ็นหัวเข่า ACL มี Ground Reaction Forces แตกต่างจากกลุ่มปกติในช่วง 20–40% แรกของการสัมผัสเท้า (stance phase) ซึ่งเป็นข้อมูลเชิงลึกที่วิธีการวิเคราะห์แบบจุดเดียวไม่สามารถบอกได้

ดังนั้น SPM จึงถือเป็นเครื่องมือวิเคราะห์สถิติที่ทรงพลังในงานวิจัยทางชีวกลศาสตร์ เพราะช่วยให้เข้าใจพฤติกรรมการเคลื่อนไหวในมิติของ “เวลา” อย่างสมบูรณ์และแม่นยำมากขึ้น ช่วยให้นักวิจัยและผู้ฝึกสอนสามารถออกแบบการฝึกหรือการป้องกันการบาดเจ็บได้อย่างมีข้อมูลเชิงลึก (evidence-based biomechanics) เพราะไม่ได้สนใจแค่จุดหรือตัวแทนของชุดข้อมูล แต่สนใจทั้งช่วงของข้อมูล

Statistical Parametric Mapping (SPM) เป็นเทคนิคการวิเคราะห์ทางสถิติที่ช่วยให้เราสามารถวิเคราะห์ข้อมูลทั้งกราฟได้ครบทุกจุด โดยไม่ต้องเลือกว่าจะดูแค่จุดไหน ทำให้สามารถตรวจจับความแตกต่างที่เกิดขึ้นตลอดช่วงเวลาของการเคลื่อนไหวได้อย่างแม่นยำ

SPM คืออะไร?

SPM ถูกพัฒนาขึ้นในตอนแรกสำหรับการวิเคราะห์ภาพสมอง (neuroimaging) แต่ได้ถูกนำมาประยุกต์ใช้ในงานชีวกลศาสตร์การกีฬาโดย Todd Pataky และทีมงาน ผ่านโปรแกรม spm1d ที่ทำงานบน Python และ MATLAB (Pataky, 2012)

หลักการทำงานของ SPM

SPM ทำงานโดยการ:

1. วิเคราะห์ข้อมูลทั้งกราฟ: แทนที่จะเลือกดูเพียงจุดเดียว SPM จะทำการทดสอบทางสถิติทุกจุดในกราฟ

2. ใช้ Random Field Theory (RFT): คำนึงถึงความสัมพันธ์ระหว่างจุดข้อมูลที่อยู่ใกล้กัน เพื่อควบคุม Type I error (false positive) ให้ถูกต้อง

3. สร้างแผนที่สถิติ (Statistical Parametric Map): แสดงผลเป็นกราฟที่บอกว่าช่วงเวลาไหนมีความแตกต่างอย่างมีนัยสำคัญทางสถิติ โดยใช้ค่า p-value และ critical threshold (Pataky, 2010)

การเตรียมข้อมูล: Temporal Normalization

ก่อนที่จะวิเคราะห์ด้วย SPM ข้อมูลต้องผ่านขั้นตอนสำคัญที่เรียกว่า Temporal Normalization เพื่อให้ข้อมูลทุกชุดมีจุดเริ่มต้นและสิ้นสุดที่สอดคล้องกัน

ปัญหาที่พบในข้อมูลชีวกลศาสตร์

ในการเก็บข้อมูลการเคลื่อนไหว แต่ละครั้งที่ทำการทดลอง (trial) มักจะมี:

ระยะเวลาไม่เท่ากัน: เช่น การเดินหนึ่งก้าวใช้เวลา 1.2 วินาที อีกครั้งใช้เวลา 1.5 วินาที

จำนวนข้อมูลต่างกัน: ถ้าบันทึกด้วย 100 Hz อาจได้ 120 จุดในครั้งหนึ่ง แต่ 150 จุดในอีกครั้ง

จุดเหตุการณ์สำคัญเกิดขึ้นคนละเวลา: เช่น เท้าสัมผัสพื้นที่จุดข้อมูลที่ 35 กับจุดที่ 42

วิธีแก้ปัญหา: Linear Time Normalization

วิธีที่นิยมใช้กันมากที่สุดคือการแปลงข้อมูลจาก time domain (เวลาจริง) เป็น percentage ของ cycle (0-100%)

ตัวอย่าง:

ข้อมูลก่อน normalize:

- Trial 1: 120 จุดข้อมูล (0-1.2 วินาที)

- Trial 2: 150 จุดข้อมูล (0-1.5 วินาที)

- Trial 3: 100 จุดข้อมูล (0-1.0 วินาที)

หลัง normalize:

- Trial 1: 101 จุดข้อมูล (0-100%)

- Trial 2: 101 จุดข้อมูล (0-100%)

- Trial 3: 101 จุดข้อมูล (0-100%)

ขั้นตอนการทำ Temporal Normalization:

1. กำหนดจุดเริ่มต้นและสิ้นสุด:

o สำหรับการเดิน: ใช้ heel strike (เท้าสัมผัสพื้น) เป็นจุดเริ่มต้น และ next heel strike ของเท้าเดียวกันเป็นจุดสิ้นสุด

o สำหรับการกระโดด: ใช้ take-off และ landing เป็นจุดอ้างอิง

2. Interpolation: ใช้ cubic spline interpolation เพื่อสร้างข้อมูล 101 จุดที่กระจายเท่าๆ กัน (0-100% ทุก 1%)

3. ตรวจสอบคุณภาพ: plot ข้อมูลทั้งหมดทับกันเพื่อดูว่า normalization ได้ผลดีหรือไม่

ตัวอย่าง Code (Python):

import numpy as np

from scipy import interpolate


def normalize_time_series(data, n_points=101):

    """

    Normalize time-series data to 101 points (0-100%)

    

    Parameters:

    data : array, shape (original_length,)

        Original time-series data

    n_points : int

        Target number of points (default: 101)

    

    Returns:

    normalized_data : array, shape (n_points,)

        Time-normalized data

    """

    original_time = np.linspace(0, 100, len(data))

    new_time = np.linspace(0, 100, n_points)

    

    # Cubic spline interpolation

    f = interpolate.interp1d(original_time, data, kind='cubic')

    normalized_data = f(new_time)

    

    return normalized_data


# ตัวอย่างการใช้งาน

knee_angle_trial1 = np.array([...])  # 120 data points

knee_angle_trial2 = np.array([...])  # 150 data points


# Normalize both trials to 101 points

trial1_norm = normalize_time_series(knee_angle_trial1)

trial2_norm = normalize_time_series(knee_angle_trial2)


# ตอนนี้สามารถนำไปวิเคราะห์ด้วย SPM ได้แล้ว

ทำไมต้องใช้ 101 จุด?

เป็นมาตรฐานในงานชีวกลศาสตร์ (0-100% ทุก 1%)

เพียงพอสำหรับการจับรายละเอียดของการเคลื่อนไหว

เหมาะสมกับ Random Field Theory ใน SPM

ใช้งานร่วมกับ spm1d package ได้ง่าย

 Effects of Video Task With a High-Level Exercise Illustration on Knee Movements in Male Volleyball Spike Jump (Liu. 2021)

 ข้อดีของ SPM

ข้อดีหลัก ของ SPM คือสามารถวิเคราะห์ข้อมูลต้นฉบับทั้งหมดได้โดยไม่ต้องลดทอนข้อมูล และไม่ต้องตั้งสมมติฐานล่วงหน้าว่าจะดูช่วงเวลาไหน (non-directed hypothesis testing) ซึ่งช่วยลดอคติในการเลือกวิเคราะห์ (Serrien et al., 2019)

ข้อดีอื่นๆ ประกอบด้วย:

ลดโอกาสการเกิด Type II error (false negative) เมื่อเทียบกับการวิเคราะห์แบบจุดเดียว

แสดงผลในรูปแบบที่เข้าใจง่าย สามารถเห็นภาพรวมของความแตกต่างตลอดช่วงเวลา

สามารถวิเคราะห์ข้อมูลหลายมิติพร้อมกันได้ (multivariate analysis) เช่น การวิเคราะห์ EMG หลายกล้ามเนื้อพร้อมกัน

ตัวอย่างการประยุกต์ใช้ SPM ในงานวิจัย

1. การวิเคราะห์การวิ่ง (Running Gait Analysis)

งานวิจัยหลายชิ้นได้ใช้ SPM ในการศึกษาการวิ่ง พบว่า SPM สามารถตรวจจับความแตกต่างที่เกิดขึ้นในช่วงต่างๆ ของ gait cycle ได้ดีกว่าการวิเคราะห์แบบดั้งเดิม

ตัวอย่างการวิจัย: การศึกษาความสมมาตรระหว่างขาซ้ายและขาขวาในผู้วิ่งวัยหนุ่มและผู้สูงอายุ โดยใช้ SPM วิเคราะห์มุมข้อต่อในระนาบ sagittal และ frontal พบว่าผู้วิ่งทั้งสองกลุ่มมีความไม่สมมาตรในบางช่วงของ gait cycle แต่ไม่แตกต่างกันระหว่างกลุ่มอายุ (การวิเคราะห์แบบดั้งเดิมที่ดูเฉพาะค่า peak angle ให้ผลที่แตกต่างกัน) (Yona et al., 2024)

การทบทวนวรรณกรรมอย่างเป็นระบบพบว่ามีงานวิจัยเกี่ยวกับการวิ่งที่ใช้ SPM จำนวน 45 ชิ้น ซึ่งส่วนใหญ่ศึกษาผลของรองเท้า ปัจจัยทางกายภาพที่ส่งผลต่อการเคลื่อนไหว และการปรับเปลี่ยนท่าวิ่ง (Yona et al., 2024)

2. การวิเคราะห์ EMG หลายกล้ามเนื้อ

SPM มีประโยชน์อย่างมากในการวิเคราะห์สัญญาณ EMG ของหลายกล้ามเนื้อพร้อมกัน เนื่องจากสัญญาณ EMG มีความสัมพันธ์กันทั้งในเชิงเวลาและระหว่างกล้ามเนื้อ

ตัวอย่างการวิจัย: การศึกษาเปรียบเทียบ EMG ของกล้ามเนื้อขาระหว่างผู้ใหญ่วัยหนุ่มกับวัยกลางคนระหว่างการเดิน การวิเคราะห์แบบดั้งเดิม (discrete analysis) ไม่พบความแตกต่างในช่วง 35-45% ของ stance phase แต่การใช้ SPM vector-field analysis พบความแตกต่างอย่างมีนัยสำคัญในช่วงเวลานี้ ชี้ให้เห็นว่าการวิเคราะห์แบบดั้งเดิมเกิด Type II error (Robinson et al., 2015)

3. การวิเคราะห์การกระโดดและการลงสู่พื้น (Jumping and Landing Analysis)

SPM ถูกนำมาใช้ในการศึกษาความแตกต่างระหว่างแขนขาในผู้ป่วยที่ผ่าตัดเอ็นไขว้หน้าหัวเข่า (ACL reconstruction) และกลุ่มควบคุมที่ไม่มีการบาดเจ็บ

ตัวอย่างการวิจัย: การศึกษาความแตกต่างระหว่างขาในผู้ป่วย ACL reconstruction เทียบกับนักกีฬาปกติระหว่างการลงพื้น (landing) พบว่า SPM สามารถพบความแตกต่างในมุมข้อสะโพก เข่า และข้อเท้าตลอดช่วงเวลาของการเคลื่อนไหวได้ ซึ่งมีความหมายทางคลินิกและสามารถนำไปใช้ในการประเมินการฟื้นฟูได้ (Hugh-Oliver C.2019)

4. การว่ายน้ำ

SPM ได้ถูกนำมาใช้ในการศึกษาความผันแปรของความเร็วในการว่ายน้ำ (velocity fluctuation) ซึ่งเป็นตัวชี้วัดสำคัญของประสิทธิภาพการว่ายน้ำ

ตัวอย่างการวิจัย: การทบทวนวรรณกรรมอย่างเป็นระบบเกี่ยวกับการใช้ SPM ในการว่ายน้ำพบงานวิจัย 9 ชิ้น ที่ศึกษาความสัมพันธ์ระหว่างเทคนิคการว่ายน้ำกับประสิทธิภาพ โดยใช้ SPM วิเคราะห์ความเร็วแบบต่อเนื่อง (1D continuous variable) แทนที่จะดูเพียงความเร็วเฉลี่ย ทำให้เข้าใจถึงรูปแบบการผลิตแรงขับและความผันแปรของความเร็วตลอดรอบการว่ายน้ำได้ดีขึ้น (Morais et al., 2023)

5. การวิเคราะห์สะบัก (Scapular Kinematics)

ตัวอย่างการวิจัย: การศึกษาเปรียบเทียบการเคลื่อนไหวของสะบักและ EMG ของกล้ามเนื้อรอบสะบักระหว่างการยกแขนแบบมีน้ำหนักและไม่มีน้ำหนัก พบว่า SPM ให้ความละเอียด (resolution) ที่ดีกว่าการวิเคราะห์แบบ interval averaging (ทุก 10° หรือ 30°) และสามารถระบุช่วงเวลาที่เกิดผลกระทบได้ชัดเจนกว่า ซึ่งมีประโยชน์ในการประเมินการทำงานของไหล่ได้แม่นยำขึ้น (Kobayashi et al., 2022)

The Application of Statistical Parametric Mapping to EvaluateDifferences in Topspin Backhand between Chinese and PolishFemale Table Tennis Players (Bańkosz.2021)

การเปรียบเทียบ SPM กับวิธีอื่นๆ

งานวิจัยเปรียบเทียบระหว่าง SPM, Statistical non-Parametric Mapping (SnPM), และ Functional Data Analysis (FDA) ในการวิเคราะห์ force profile ของนักพายเรือ พบว่าทั้ง 3 วิธีให้ผลลัพธ์ที่สอดคล้องกัน แต่การเลือกใช้ควรพิจารณาจาก:

สมมติฐานแบบ parametric: SPM ต้องการให้ข้อมูลมีการกระจายแบบ normal

ประเภทของข้อมูล: SnPM เหมาะกับข้อมูลที่ไม่เป็น normal distribution

คำถามวิจัย: แต่ละวิธีมีจุดเด่นในการตอบคำถามวิจัยที่แตกต่างกัน

(Warmenhoven et al., 2018)

ตัวอย่าง Workflow การวิเคราะห์ด้วย SPM

ขั้นตอนที่ 1: เตรียมและ Normalize ข้อมูล

import numpy as np

import spm1d


# สมมติว่ามีข้อมูลมุมเข่าของ 2 กลุ่ม (ผู้ชายและผู้หญิง)

# แต่ละกลุ่มมี 15 คน แต่ละคนมี 5 trials

# โหลดข้อมูลและ normalize

def load_and_normalize_data():

    male_data = []

    female_data = []

    

    for subject in range(15):

        # โหลดข้อมูลของแต่ละคน

        trials_male = [...]  # 5 trials, แต่ละ trial มีความยาวไม่เท่ากัน

        trials_female = [...]

        

        # Normalize แต่ละ trial ให้เป็น 101 จุด

        for trial in trials_male:

            normalized = normalize_time_series(trial, n_points=101)

            male_data.append(normalized)

        

        for trial in trials_female:

            normalized = normalize_time_series(trial, n_points=101)

            female_data.append(normalized)

    

    return np.array(male_data), np.array(female_data)


male_knee_angle, female_knee_angle = load_and_normalize_data()

print(f"Male group shape: {male_knee_angle.shape}")  # (75, 101)

print(f"Female group shape: {female_knee_angle.shape}")  # (75, 101)

ขั้นตอนที่ 2: ทดสอบด้วย SPM (Two-sample t-test)

# ทำ SPM t-test เพื่อเปรียบเทียบ 2 กลุ่ม

t = spm1d.stats.ttest2(male_knee_angle, female_knee_angle)

ti = t.inference(alpha=0.05, two_tailed=True)

# แสดงผลลัพธ์

print(ti)

# Plot ผลลัพธ์

import matplotlib.pyplot as plt

# Plot 1: ข้อมูลเฉลี่ย ± SD ของแต่ละกลุ่ม

fig, axes = plt.subplots(2, 1, figsize=(10, 8))

# Plot ข้อมูลดิบ

male_mean = np.mean(male_knee_angle, axis=0)

male_std = np.std(male_knee_angle, axis=0)

female_mean = np.mean(female_knee_angle, axis=0)

female_std = np.std(female_knee_angle, axis=0)


x = np.linspace(0, 100, 101)

axes[0].fill_between(x, male_mean - male_std, male_mean + male_std, 

                      alpha=0.3, color='blue', label='Male ±SD')

axes[0].plot(x, male_mean, 'b-', linewidth=2, label='Male Mean')

axes[0].fill_between(x, female_mean - female_std, female_mean + female_std, 

                      alpha=0.3, color='red', label='Female ±SD')

axes[0].plot(x, female_mean, 'r-', linewidth=2, label='Female Mean')

axes[0].set_xlabel('Gait Cycle (%)')

axes[0].set_ylabel('Knee Angle (degrees)')

axes[0].legend()

axes[0].set_title('Group Means ± SD')

axes[0].grid(True, alpha=0.3)


# Plot 2: SPM results

ti.plot(ax=axes[1])

axes[1].set_xlabel('Gait Cycle (%)')

axes[1].set_title('SPM{t} Analysis Results')


plt.tight_layout()

plt.show()

ขั้นตอนที่ 3: ตีความผลลัพธ์

# ตรวจสอบว่ามีความแตกต่างที่ไหนบ้าง

if ti.h0reject:

    print("พบความแตกต่างอย่างมีนัยสำคัญ (p < 0.05)")

    

    # แสดงช่วงเวลาที่แตกต่างกัน

    clusters = ti.clusters

    for i, cluster in enumerate(clusters):

        start_pct = cluster[0]

        end_pct = cluster[1]

        print(f"Cluster {i+1}: {start_pct:.1f}% - {end_pct:.1f}% ของ gait cycle")

else:

    print("ไม่พบความแตกต่างอย่างมีนัยสำคัญ")

การตรวจสอบคุณภาพข้อมูลหลัง Normalization

ก่อนวิเคราะห์ด้วย SPM ควรตรวจสอบคุณภาพของข้อมูลดังนี้:

1. ตรวจสอบด้วย Visual Inspection

def quality_check_visualization(data_list, group_name):

    """

    ตรวจสอบคุณภาพข้อมูลด้วย visualization

    """

    fig, axes = plt.subplots(1, 3, figsize=(15, 4))

    

    # Plot 1: Overlay ข้อมูลทั้งหมด

    for trial in data_list:

        axes[0].plot(trial, alpha=0.2, color='blue')

    axes[0].set_title(f'{group_name}: All Trials Overlay')

    axes[0].set_xlabel('% Cycle')

    axes[0].set_ylabel('Value')

    axes[0].grid(True, alpha=0.3)

    

    # Plot 2: Mean ± SD

    mean_curve = np.mean(data_list, axis=0)

    std_curve = np.std(data_list, axis=0)

    x = np.linspace(0, 100, len(mean_curve))

    

    axes[1].fill_between(x, mean_curve - std_curve, 

                         mean_curve + std_curve, 

                         alpha=0.3, color='blue')

    axes[1].plot(x, mean_curve, 'b-', linewidth=2)

    axes[1].set_title(f'{group_name}: Mean ± SD')

    axes[1].set_xlabel('% Cycle')

    axes[1].set_ylabel('Value')

    axes[1].grid(True, alpha=0.3)

    

    # Plot 3: Variability (Coefficient of Variation)

    cv = (std_curve / np.abs(mean_curve)) * 100

    axes[2].plot(x, cv, 'r-', linewidth=2)

    axes[2].set_title(f'{group_name}: Coefficient of Variation')

    axes[2].set_xlabel('% Cycle')

    axes[2].set_ylabel('CV (%)')

    axes[2].grid(True, alpha=0.3)

    

    plt.tight_layout()

    return fig


# ใช้งาน

quality_check_visualization(male_knee_angle, 'Male Group')

quality_check_visualization(female_knee_angle, 'Female Group')

2. ตรวจสอบ Outliers

def detect_outliers(data_array, threshold=3):

    """

    ตรวจจับ outliers โดยใช้ z-score

    """

    mean_curve = np.mean(data_array, axis=0)

    std_curve = np.std(data_array, axis=0)

    

    outliers = []

    for i, trial in enumerate(data_array):

        z_scores = np.abs((trial - mean_curve) / std_curve)

        if np.any(z_scores > threshold):

            outliers.append(i)

            max_z = np.max(z_scores)

            print(f"Trial {i}: มี z-score สูงสุดที่ {max_z:.2f}")

    

    return outliers


# ตรวจจับ outliers

male_outliers = detect_outliers(male_knee_angle)

female_outliers = detect_outliers(female_knee_angle)


if len(male_outliers) > 0:

    print(f"พบ outliers {len(male_outliers)} trials ในกลุ่มผู้ชาย")

if len(female_outliers) > 0:

    print(f"พบ outliers {len(female_outliers)} trials ในกลุ่มผู้หญิง")

ข้อควรระวังในการใช้ SPM

1. ขนาดตัวอย่าง (Sample size): SPM ต้องการขนาดตัวอย่างที่เพียงพอ โดย Pataky (2017) ได้พัฒนาวิธีการคำนวณ power analysis และขนาดตัวอย่างที่เหมาะสมสำหรับ SPM แนะนำให้มีอย่างน้อย 10-15 คนต่อกลุ่มสำหรับการทดสอบพื้นฐาน

2. การทำ Temporal Normalization อย่างถูกต้อง:

o ต้องระบุจุดเริ่มต้นและสิ้นสุดของ cycle ให้ถูกต้องและสม่ำเสมอ

o ใช้ cubic spline interpolation เพื่อรักษารูปร่างของกราฟ

o ตรวจสอบว่าไม่มี artifacts จากการ interpolation

3. ความเรียบของข้อมูล (Smoothness): ข้อมูลควรมีความเรียบเพียงพอสำหรับการใช้ Random Field Theory อาจต้อง filter ข้อมูลก่อนการวิเคราะห์ แต่ระวังอย่า over-filter จนเสียรายละเอียดสำคัญ

4. การตีความผล:

o ต้องระวังในการตีความผลลัพธ์ โดยเฉพาะเมื่อพบความแตกต่างเล็กๆ น้อยๆ

o ต้องพิจารณาว่ามีความหมายทางชีวกลศาสตร์หรือคลินิกหรือไม่

o ความแตกต่างที่มีนัยสำคัญทางสถิติ ไม่จำเป็นต้องมีความสำคัญทางคลินิกเสมอไป

5. การเลือกใช้ค่า alpha:

o มาตรฐานคือ α = 0.05 แต่อาจปรับได้ตามลักษณะการวิจัย

o สำหรับ exploratory analysis อาจใช้ α = 0.10

o สำหรับ confirmatory study ควรใช้ α = 0.05 หรือเข้มงวดกว่า

แนวโน้มในอนาคต

การทบทวนวรรณกรรมแบบ scoping review ชี้ให้เห็นช่องว่างและโอกาสในการพัฒนาการใช้ SPM:

1.การศึกษานอกห้องแล็บ: ยังมีงานวิจัยน้อยที่ศึกษาในสภาพแวดล้อมจริง

2.ความหลากหลายของกีฬา: ยังมีหลายกีฬาที่ยังไม่ได้ถูกศึกษาด้วย SPM

3. ความเท่าเทียมทางเพศ: งานวิจัยส่วนใหญ่ยังมุ่งเน้นไปที่ผู้ชาย

4. การพัฒนา Bayesian SPM: การนำวิธีการทางสถิติแบบ Bayesian มาใช้กับ SPM จะช่วยให้สามารถประเมินหลักฐานที่สนับสนุนสมมติฐานว่างได้ดีขึ้น (Serrien et al., 2019)

สรุป

Statistical Parametric Mapping (SPM) เป็นเครื่องมือที่ทรงพลังสำหรับการวิเคราะห์ข้อมูลทางชีวกลศาสตร์การกีฬาที่มีความต่อเนื่องตามเวลา ข้อดีหลักคือสามารถวิเคราะห์ข้อมูลทั้งหมดได้โดยไม่ต้องตัดทอน ลดอคติจากการเลือกดูเฉพาะบางจุด และควบคุม statistical error ได้ดี การใช้ SPM ช่วยให้นักวิจัยสามารถเข้าใจรูปแบบการเคลื่อนไหวและการทำงานของร่างกายได้ลึกซึ้งและครอบคลุมมากขึ้น ซึ่งมีประโยชน์ต่อการพัฒนาประสิทธิภาพการกีฬาและการป้องกันการบาดเจ็บ

เอกสารอ้างอิง

Bańkosz, Ziemowit & Winiarski, Sławomir. (2021). The Application of Statistical Parametric Mapping to EvaluateDifferences in Topspin Backhand between Chinese and PolishFemale Table Tennis Players. Applied Bionics and Biomechanics. 2021. 11 pages. 10.1155/2021/5555874. 

Hughes-Oliver CN, Harrison KA, Williams DSB, Queen RM. Statistical Parametric Mapping as a Measure of Differences Between Limbs: Applications to Clinical Populations. J Appl Biomech. 2019 Dec 1;35(6):377–387. doi: 10.1123/jab.2018-0392. Epub 2019 Oct 18. PMID: 31629339.

Kobayashi, K., Umehara, J., Pataky, T., Yamaura, M., Hiroaki, T., Ueda, Y., & Ichihashi, N. (2022). Application of statistical parametric mapping for comparison of scapular kinematics and EMG. Journal of Biomechanics, 144, 111346.

Liu, Xiangyu & Huang, Huiming & Li, Xiaohan & Li, Jianshe & Shi, Huijuan & Wang, Aiwen. (2021). Effects of Video Task With a High-Level Exercise Illustration on Knee Movements in Male Volleyball Spike Jump. Frontiers in Psychology. 12. 10.3389/fpsyg.2021.644188. 

Morais, J. E., Marinho, D. A., Cobley, S., & Barbosa, T. M. (2023). Using statistical parametric mapping as a statistical method. Frontiers in Physiology, 14, 1213151.

Pataky, T. C. (2010). Generalized n-dimensional biomechanical field analysis using statistical parametric mapping. Journal of Biomechanics, 43(10), 1976-1982.

Pataky, T. C. (2012). One-dimensional statistical parametric mapping in Python. Computer Methods in Biomechanics and Biomedical Engineering, 15(3), 295-301.

Robinson, M. A., Vanrenterghem, J., & Pataky, T. C. (2015). Statistical Parametric Mapping (SPM) for alpha-based statistical analyses of multi-muscle EMG time-series. Journal of Electromyography and Kinesiology, 25(1), 14-19.

Serrien, B., Goossens, M., & Baeyens, J. P. (2019). Statistical parametric mapping of biomechanical one-dimensional data with Bayesian inference. International Biomechanics, 6(1), 9-18.

Warmenhoven, J., Harrison, A., Robinson, M. A., Vanrenterghem, J., Bargary, N., Smith, R., ... & Pataky, T. (2018). A force profile analysis comparison between functional data analysis, statistical parametric mapping and statistical non-parametric mapping in on-water single sculling. Journal of Science and Medicine in Sport, 21(10), 1100-1105.

Yona, T., Kamel, N., Cohen-Eick, G., Ovadia, I., & Fischer, A. (2024). One-dimension statistical parametric mapping in lower limb biomechanical analysis: A systematic scoping review. Gait & Posture, 109, 133-146.

หมายเหตุ: สำหรับผู้ที่สนใจเรียนรู้เพิ่มเติมหรือใช้งาน SPM สามารถดาวน์โหลด package spm1d ได้ที่ www.spm1d.org ซึ่งมีทั้งเวอร์ชัน Python และ MATLAB พร้อมคู่มือการใช้งานและตัวอย่างที่ครบถ้วน


ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Game Planning ที่คนส่วนใหญ่ไม่ค่อยตระหนัก

การใช้ค่า P-value ผิดวิธีในงานวิจัย (ฉบับชีวกลศาสตร์การกีฬา)

การลดน้ำหนักสำหรับ ONE Championship: แนวทางที่ปลอดภัยและมีประสิทธิภาพ