Phân tích hồi quy

Hệ số tương quan hạng Spearman

Thực hành Phân tích tương quan hạng Spearman với SPSS

Tóm tắt: Tương quan hạng Spearman là một phương pháp thống kê phi tham số được sử dụng để đánh giá mối quan hệ giữa hai biến khi dữ liệu không thỏa mãn giả định phân phối chuẩn. Phương pháp này đặc biệt hữu ích trong thực hành kinh tế lượng khi phân tích dữ liệu có tính chất thứ tự hoặc không tuân theo phân phối chuẩn. Bài viết hướng dẫn chi tiết cách thực hiện tương quan hạng Spearman trên SPSS với ví dụ thực tế từ dữ liệu bán hàng.

Giới thiệu

Trong thực hành kinh tế lượng, việc phân tích mối quan hệ giữa các biến số là một nhiệm vụ cơ bản và quan trọng. Tuy nhiên, không phải lúc nào dữ liệu cũng thỏa mãn các giả định cần thiết để sử dụng tương quan Pearson. Đặc biệt trong bối cảnh kinh tế Việt Nam, dữ liệu thu thập từ các doanh nghiệp nhỏ và vừa thường có phân phối không chuẩn hoặc chứa các giá trị ngoại lai.

Tương quan hạng Spearman ra đời như một giải pháp thay thế hiệu quả cho tương quan Pearson trong những trường hợp dữ liệu vi phạm giả định phân phối chuẩn. Phương pháp này được đặt tên theo Charles Spearman, nhà thống kê người Anh, và được sử dụng rộng rãi trong nghiên cứu kinh tế và xã hội.

Ví dụ, khi phân tích mối quan hệ giữa thu nhập hộ gia đình và chi tiêu tiêu dùng tại các tỉnh thành Việt Nam, dữ liệu thu nhập thường có phân phối lệch phải do sự chênh lệch lớn giữa các nhóm thu nhập. Trong trường hợp này, tương quan hạng Spearman sẽ cho kết quả tin cậy hơn so với tương quan Pearson.

Giả định của tương quan hạng Spearman

Để thực hiện tương quan hạng Spearman một cách chính xác, dữ liệu cần thỏa mãn các giả định sau:

  • Loại thang đo: Biến kiểm định có thể là dạng thứ tự (ordinal), tỉ lệ (ratio), khoảng (interval) và có phân phối bất kì. Tham khảo bài viết các loại thang đo trong phân tích dữ liệu.
  • Tính đơn điệu: Các biến phải thỏa mãn tính chất đơn điệu (monotonic). Đây là giả định quan trọng nhất của tương quan hạng Spearman.
  • Quan sát độc lập: Các quan sát phải độc lập với nhau, không có mối liên hệ nào giữa các quan sát.
  • Dữ liệu cặp: Mỗi quan sát phải có cặp giá trị cho cả hai biến cần phân tích.

Giả thuyết H₀ cho rằng hệ số tương quan Spearman, ρ (rho), bằng 0. Hệ số ρ bằng 0 nghĩa là các hạng của một biến không thay đổi theo sự tăng/giảm các hạng của biến còn lại.

Xem thêm: Kiểm định phi tham số

Tính đơn điệu trong tương quan hạng Spearman

Tính đơn điệu giữa hai biến được thể hiện khi giá trị của một biến tăng thì cũng làm tăng giá trị của biến còn lại hoặc khi tăng giá trị của một biến thì làm giảm giá trị của biến còn lại. Tính đơn điệu của hai biến có thể minh họa qua hình bên dưới:

Minh họa tính đơn điệu trong phân tích tương quan

Tính đơn điệu ít bị hạn chế hơn mối quan hệ tuyến tính (linear relationship). Ở hình (b), không tồn tại mối quan hệ tuyến tính nhưng tồn tại tính đơn điệu giữa hai biến. Trường hợp này, bạn không thể sử dụng tương quan Pearson nhưng vẫn có thể sử dụng tương quan hạng Spearman.

Ví dụ trong kinh tế: Mối quan hệ giữa giá cả và cầu thường có tính đơn điệu giảm (giá tăng, cầu giảm), nhưng không nhất thiết phải tuyến tính. Tương quan hạng Spearman có thể nắm bắt được mối quan hệ này tốt hơn tương quan Pearson.

Công thức tính toán

Tương quan hạng Spearman (ρ) có cách tính tương tự như hệ số tương quan Pearson (r), ngoại trừ bạn thực hiện trực tiếp trên các hạng (chứ không phải các dữ liệu đo lường). Các bước tính toán cụ thể như sau:

Bước 1: Xếp hạng dữ liệu

Xếp hạng các biến theo thứ tự giảm dần. Để chuyển một biến đo lường thành biến hạng, gán giá trị cao nhất là 1, kế tiếp là 2 và tương tự vậy. Sử dụng hạng trung bình cho các quan sát có giá trị đo lường bằng nhau.

Bước 2: Tính chênh lệch hạng

Tính toán sự chênh lệch hạng của từng cặp biến \(d_i\) theo công thức:

$$d_i = R(x_i) – R(y_i)$$

Trong đó: \(R(x_i)\) và \(R(y_i)\) là hạng của quan sát thứ i trong biến x và y

Bước 3: Tính hệ số tương quan hạng

Tính hệ số tương quan hạng ρ theo hai trường hợp:

  • Trường hợp không có hạng bằng nhau:

    $$\rho = 1 – \frac{6\sum_{i=1}^n d_i^2}{n(n^2-1)}$$

  • Trường hợp có hạng bằng nhau:

    $$\rho = \frac{\sum_{i=1}^n (x_i – \bar{x})(y_i – \bar{y})}{\sqrt{\sum_{i=1}^n (x_i – \bar{x})^2 \sum_{i=1}^n (y_i – \bar{y})^2}}$$

Bước 4: Kiểm định thống kê

Tính và so sánh giá trị thống kê t:

  • Đối với số quan sát trên 10, thay r bằng ρ trong công thức tính giá trị thống kê t như sau:

    $$t_s = \frac{\rho\sqrt{n-2}}{\sqrt{1-\rho^2}}$$

  • Nếu số quan sát từ 10 trở xuống thì tính toán t và giá trị p (p-value) từ phân phối chuẩn t sẽ không còn chính xác. Khi đó, có thể sử dụng cách tra bảng (thống kê t) ứng với số quan sát để có được những giá trị này.
Lưu ý quan trọng: Bạn không nên vẽ đường hồi quy để mô tả hoặc dự báo khi bạn thực hiện tương quan hạng Spearman. Phương pháp này chỉ đo lường mức độ quan hệ, không phải mối quan hệ nhân quả.

Ví dụ thực tế từ kinh tế Việt Nam

Sử dụng số liệu về chiến lược bán hàng được thu thập từ 25 cửa hàng điện thoại di động tại TP.HCM. Dữ liệu bao gồm doanh số bán hàng ứng với ba chiến lược: bán bình thường, bán giảm giá và bán kèm quà tặng.

Tải dữ liệu thực hành Spearman

Đặc điểm của dữ liệu:

  • Dữ liệu của các biến có ít nhất một biến (none, discount, gift) không có phân phối chuẩn theo bất kì tiêu chí kiểm định phân phối chuẩn nào. Xem thêm Kiểm định FriedmanKiểm tra phân phối chuẩn.
  • Một trong hai biến thực hành không có phân phối chuẩn, về nguyên tắc, tương quan Pearson là không phù hợp sử dụng. Tuy nhiên, trong phần thực hành minh họa này, chúng ta sẽ so sánh cả hai cách để có sự kiểm chứng.

Hướng dẫn thực hành chi tiết trên SPSS

Trên SPSS, tương quan hạng Spearman được thực hiện theo các bước sau:

Bước 1: Truy cập menu phân tích

Vào AnalyzeCorrelateBivariate…

Giao diện menu Analyze - Correlate - Bivariate trong SPSS

Bước 2: Thiết lập biến phân tích

Cửa sổ Bivariate Correlations mở ra. Thực hiện các thao tác sau:

  • Đưa 2 biến none và biến discount vào ô Variables
  • Thiết lập nút Options… như hình bên dưới

Cửa sổ thiết lập Bivariate Correlations trong SPSS

Lưu ý quan trọng: Đảm bảo rằng cả PearsonSpearman trong phần Correlation Coefficients đã được chọn để có thể so sánh kết quả giữa hai phương pháp.

Bấm ContinueOK để tiến hành thực hiện phân tích.

Bước 3: Giải thích kết quả

Kết quả phân tích tương quan hạng Spearman gồm hai phần chính:

Thống kê mô tả

Bảng Descriptive Statistics cung cấp thông tin thống kê mô tả về giá trị trung bình, độ lệch chuẩn và số quan sát của mỗi biến. Theo kết quả, số lượng sản phẩm smartphone trung bình được bán ở các cửa hàng trong trường hợp có giảm giá cao hơn so với bán bình thường.

Bảng tương quan

Bảng Correlations cho biết kết quả tính toán hệ số tương quan Pearson và tương quan hạng Spearman:

Bảng kết quả tương quan Pearson và Spearman trong SPSS

Giải thích kết quả phân tích

Kết quả cho thấy một số điểm quan trọng:

  • Độ tương quan: Không có sự chênh lệch lớn cả về độ lớn lẫn mức ý nghĩa giữa hệ số tương quan Pearson và hệ số tương quan hạng Spearman
  • Mức độ quan hệ: Cả hai đều cho thấy mức tương quan dương tương đối (0.55 – 0.58) giữa doanh số bán hàng thông thường và doanh số bán hàng khi có giảm giá
  • Mức ý nghĩa: Kết quả có ý nghĩa thống kê ở mức 1% (p < 0.01)

Điều này cho thấy rằng các cửa hàng có doanh số bán hàng cao trong điều kiện bình thường thường cũng có xu hướng đạt doanh số cao khi áp dụng chính sách giảm giá. Mối quan hệ này có thể phản ánh khả năng quản lý và vị trí kinh doanh của các cửa hàng.

Liên hệ với các phương pháp khác

Phân tích tương quan có nhiều điểm tương đồng với hồi quy tuyến tính giản đơn, tuy nhiên, chúng ta không thể đồng nhất việc thực hiện giữa hai phương pháp.

Tham khảo bài Tương quan và hồi quy tuyến tính giản đơn để có cách nhìn rõ ràng hơn về sự khác biệt giữa hai phương pháp này.

Nhận xét về tương quan hạng Spearman và tương quan Pearson:
Nhiều người sử dụng tương quan hạng Spearman như một phương pháp thay thế cho tương quan Pearson khi dữ liệu không thỏa mãn điều kiện phân phối chuẩn. Tương quan Pearson giả định rằng dữ liệu phải có phân phối chuẩn, trong khi tương quan hạng Spearman không đòi hỏi giả định này. Tuy nhiên, nhiều nghiên cứu thực nghiệm cho thấy tương quan Pearson ít nhạy cảm với việc vi phạm giả định phân phối chuẩn. Điều này có nghĩa là ngay cả khi dữ liệu không hoàn toàn tuân theo phân phối chuẩn, tương quan Pearson vẫn có thể cho kết quả đáng tin cậy. Vì vậy, việc lựa chọn phương pháp nào phụ thuộc vào mức độ vi phạm giả định và tính chất của dữ liệu.

Lưu ý quan trọng khi sử dụng

Các lưu ý quan trọng:

  • Tương quan hạng Spearman chỉ đo lường mức độ quan hệ, không chỉ ra mối quan hệ nhân quả
  • Không vẽ đường hồi quy khi sử dụng tương quan hạng Spearman
  • Phương pháp này nhạy cảm với các hạng bằng nhau (tied ranks)
  • Kết quả chỉ có ý nghĩa khi dữ liệu thỏa mãn giả định tính đơn điệu

Tổng kết

Tương quan hạng Spearman là một công cụ mạnh mẽ trong thực hành kinh tế lượng, đặc biệt hữu ích khi phân tích dữ liệu không tuân theo phân phối chuẩn. Phương pháp này cung cấp một cách tiếp cận linh hoạt để đánh giá mối quan hệ giữa các biến số trong nghiên cứu kinh tế và xã hội.

Trong ví dụ thực hành với dữ liệu bán hàng, chúng ta thấy rằng tương quan hạng Spearman cho kết quả tương tự như tương quan Pearson, điều này phần nào khẳng định tính robust của phương pháp truyền thống ngay cả khi dữ liệu vi phạm giả định phân phối chuẩn.

Việc thành thạo cả hai phương pháp sẽ giúp nhà nghiên cứu có thêm lựa chọn phù hợp trong từng tình huống cụ thể, từ đó đưa ra kết luận chính xác và đáng tin cậy hơn trong phân tích dữ liệu.

Điểm quan trọng cần nhớ:

  • Tương quan hạng Spearman là phương pháp phi tham số, không yêu cầu dữ liệu có phân phối chuẩn
  • Phương pháp này đo lường mối quan hệ đơn điệu, không nhất thiết phải tuyến tính
  • Sử dụng hạng thay vì giá trị gốc giúp giảm thiểu ảnh hưởng của các giá trị ngoại lai
  • Kết quả cần được giải thích cẩn thận, tránh nhầm lẫn tương quan với nhân quả
  • Trong nhiều trường hợp, tương quan Pearson vẫn cho kết quả tin cậy ngay cả khi dữ liệu vi phạm giả định phân phối chuẩn

Phụ lục

SPSS Syntax

SPSS Syntax (.sps)


* Phân tích tương quan hạng Spearman
* Tải dữ liệu
GET FILE='/data/friedman.sav'.

* Kiểm tra dữ liệu
DESCRIPTIVES VARIABLES=none discount gift
  /STATISTICS=MEAN STDDEV MIN MAX.

* Thực hiện tương quan Pearson và Spearman
CORRELATIONS
  /VARIABLES=none discount gift
  /PRINT=TWOTAIL NOSIG
  /STATISTICS DESCRIPTIVES
  /MISSING=PAIRWISE.

NONPAR CORR
  /VARIABLES=none discount gift
  /PRINT=SPEARMAN TWOTAIL NOSIG
  /MISSING=PAIRWISE.

* Kiểm tra phân phối chuẩn
EXAMINE VARIABLES=none discount gift
  /PLOT BOXPLOT STEMLEAF NPPLOT
  /COMPARE GROUPS
  /STATISTICS DESCRIPTIVES
  /CINTERVAL 95
  /MISSING LISTWISE
  /NOTOTAL.

Stata Code

Stata Code (.do)


* Phân tích tương quan hạng Spearman trong Stata
* Tải dữ liệu
use "/data/friedman.dta", clear

* Kiểm tra dữ liệu
summarize none discount gift

* Thực hiện tương quan Pearson
corr none discount gift

* Thực hiện tương quan Spearman
spearman none discount gift

* Kiểm tra phân phối chuẩn
swilk none discount gift

* Vẽ biểu đồ scatter để kiểm tra tính đơn điệu
scatter discount none
scatter gift none

* Tạo matrix tương quan với kiểm định
pwcorr none discount gift, sig

* Tương quan Spearman với kiểm định
spearman none discount gift, stats(rho obs p)

* Xuất kết quả
matrix list r(C)
matrix list r(P)

R Code

R Code (.R)


# Phân tích tương quan hạng Spearman trong R
# Tải các thư viện cần thiết
library(foreign)
library(psych)
library(corrplot)

# Tải dữ liệu
data <- read.spss("/data/friedman.sav", to.data.frame=TRUE)

# Kiểm tra dữ liệu
summary(data[c("none", "discount", "gift")])

# Thực hiện tương quan Pearson
cor_pearson <- cor(data[c("none", "discount", "gift")], 
                   use="complete.obs", method="pearson")
print(cor_pearson)

# Thực hiện tương quan Spearman
cor_spearman <- cor(data[c("none", "discount", "gift")], 
                    use="complete.obs", method="spearman")
print(cor_spearman)

# Kiểm định tương quan với p-value
cor.test(data$none, data$discount, method="pearson")
cor.test(data$none, data$discount, method="spearman")

# Kiểm tra phân phối chuẩn
shapiro.test(data$none)
shapiro.test(data$discount)
shapiro.test(data$gift)

# Vẽ biểu đồ
plot(data$none, data$discount, main="Scatter Plot: None vs Discount")
plot(data$none, data$gift, main="Scatter Plot: None vs Gift")

# Ma trận tương quan với visualization
corrplot(cor_spearman, method="color", type="upper", 
         tl.cex=0.8, tl.col="black")

# Tương quan với thống kê đầy đủ
corr.test(data[c("none", "discount", "gift")], method="spearman")

Python Code

Python Code (.py)


# Phân tích tương quan hạng Spearman trong Python
import pandas as pd
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import pearsonr, spearmanr

# Tải dữ liệu
data = pd.read_spss('/data/friedman.sav')

# Kiểm tra dữ liệu
print(data[['none', 'discount', 'gift']].describe())

# Thực hiện tương quan Pearson
corr_pearson = data[['none', 'discount', 'gift']].corr(method='pearson')
print("Tương quan Pearson:")
print(corr_pearson)

# Thực hiện tương quan Spearman
corr_spearman = data[['none', 'discount', 'gift']].corr(method='spearman')
print("\nTương quan Spearman:")
print(corr_spearman)

# Kiểm định tương quan cụ thể
pearson_coef, pearson_p = pearsonr(data['none'], data['discount'])
spearman_coef, spearman_p = spearmanr(data['none'], data['discount'])

print(f"\nPearson correlation: {pearson_coef:.4f}, p-value: {pearson_p:.4f}")
print(f"Spearman correlation: {spearman_coef:.4f}, p-value: {spearman_p:.4f}")

# Kiểm tra phân phối chuẩn
shapiro_none = stats.shapiro(data['none'])
shapiro_discount = stats.shapiro(data['discount'])
shapiro_gift = stats.shapiro(data['gift'])

print(f"\nShapiro-Wilk test for 'none': {shapiro_none.pvalue:.4f}")
print(f"Shapiro-Wilk test for 'discount': {shapiro_discount.pvalue:.4f}")
print(f"Shapiro-Wilk test for 'gift': {shapiro_gift.pvalue:.4f}")

# Vẽ biểu đồ
plt.figure(figsize=(12, 4))

plt.subplot(1, 3, 1)
plt.scatter(data['none'], data['discount'])
plt.xlabel('None')
plt.ylabel('Discount')
plt.title('Scatter Plot: None vs Discount')

plt.subplot(1, 3, 2)
plt.scatter(data['none'], data['gift'])
plt.xlabel('None')
plt.ylabel('Gift')
plt.title('Scatter Plot: None vs Gift')

plt.subplot(1, 3, 3)
sns.heatmap(corr_spearman, annot=True, cmap='coolwarm', center=0)
plt.title('Spearman Correlation Matrix')

plt.tight_layout()
plt.show()

# Ma trận tương quan chi tiết
def correlation_matrix_with_pvalue(df):
    columns = df.columns
    corr_matrix = np.zeros((len(columns), len(columns)))
    p_matrix = np.zeros((len(columns), len(columns)))
    
    for i, col1 in enumerate(columns):
        for j, col2 in enumerate(columns):
            if i == j:
                corr_matrix[i, j] = 1.0
                p_matrix[i, j] = 0.0
            else:
                corr, p_val = spearmanr(df[col1], df[col2])
                corr_matrix[i, j] = corr
                p_matrix[i, j] = p_val
    
    return corr_matrix, p_matrix

corr_matrix, p_matrix = correlation_matrix_with_pvalue(data[['none', 'discount', 'gift']])
print("\nSpearman Correlation Matrix:")
print(corr_matrix)
print("\nP-value Matrix:")
print(p_matrix)

Tài liệu tham khảo

1. Edgell, S.E., and S.M. Noon. 1984. Effect of violation of normality on the t-test of the correlation coefficient. Psychological Bulletin. 95: 576-583.

2. Spearman, C. 1904. The proof and measurement of association between two things. The American Journal of Psychology. 15(1): 72-101.

3. Siegel, S., & Castellan, N. J. 1988. Nonparametric statistics for the behavioral sciences. McGraw-Hill.

4. Field, A. 2018. Discovering statistics using IBM SPSS statistics (5th ed.). SAGE Publications.

5. Howell, D. C. 2017. Statistical methods for psychology (8th ed.). Cengage Learning.

 

Xem thêm
Back to top button