KTL cơ bảnXử lý dữ liệu

Bảng tần suất – SPSS

Thống kê mô tả dạng bảng tần suất trong SPSS

Tóm tắt: Bài viết hướng dẫn chi tiết cách thực hiện thống kê mô tả dạng bảng tần suất trong SPSS với hai phương pháp chính: Frequencies và Explore. Nội dung bao gồm thao tác từng bước trên giao diện, giải thích kết quả đầu ra, phân tích theo nhóm, lưu ý quan trọng và code tương đương trong Stata, R, Python phục vụ thực hành kinh tế lượng hiệu quả cho sinh viên và nhà nghiên cứu kinh tế Việt Nam.

Giới thiệu

Trong thực hành kinh tế lượng, thống kê mô tả là bước đầu tiên và quan trọng nhất của quá trình phân tích dữ liệu. Trước khi thực hiện các kiểm định phức tạp hoặc mô hình hóa, các bạn cần hiểu rõ đặc điểm cơ bản của dữ liệu thông qua bảng tần suất, biểu đồ và các chỉ số thống kê mô tả.

Ví dụ trong nghiên cứu kinh tế Việt Nam, khi phân tích thu nhập hộ gia đình, điểm thi đại học, hay hiệu quả sản xuất của doanh nghiệp, việc tạo bảng tần suất giúp chúng ta nắm bắt được phân phối dữ liệu, phát hiện điểm dị biệt, và đưa ra quyết định phù hợp cho các bước phân tích tiếp theo.

Hai phương pháp thực hiện bảng tần suất

SPSS cung cấp hai công cụ chính để thực hiện thống kê mô tả dạng bảng tần suất, mỗi công cụ có những ưu điểm riêng phù hợp với mục đích phân tích khác nhau:

  • Frequencies: Thông tin phân tích được tổng hợp trong một bảng duy nhất, hiển thị đồ thị histogram kèm đường cong phân phối chuẩn, phù hợp cho việc so sánh nhanh nhiều biến
  • Explore: Thông tin được hiển thị riêng biệt cho từng biến, tạo đồ thị boxplot để phát hiện điểm dị biệt, phù hợp cho phân tích chi tiết từng biến
Lưu ý quan trọng: Cả hai phương pháp đều cho kết quả thống kê mô tả tương tự nhau, chỉ khác nhau về cách trình bày và loại biểu đồ minh họa.

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

Để minh họa cách thực hiện, chúng ta sẽ sử dụng dữ liệu nghiên cứu khảo sát về đặc điểm nhân khẩu học và thái độ xã hội của người dân Việt Nam. Dữ liệu này bao gồm các biến như tuổi, trình độ học vấn, giới tính, và thái độ chính trị – những yếu tố quan trọng trong nghiên cứu kinh tế xã hội.

Trong bối cảnh nghiên cứu kinh tế Việt Nam, việc phân tích đặc điểm nhân khẩu học giúp chúng ta hiểu rõ cấu trúc dân số, từ đó đưa ra những khuyến nghị chính sách phù hợp về lao động, giáo dục, và phát triển kinh tế.

Dữ liệu mẫu

Chúng ta sử dụng file dữ liệu Phân tích dữ liệu với các biến chính:

  • age: Tuổi của đối tượng khảo sát
  • edu: Trình độ học vấn
  • sex: Giới tính (nam/nữ)
  • liborcon: Thái độ chính trị
Tải về dữ liệu mẫu

Phương pháp 1: Frequencies

Frequencies là phương pháp truyền thống và được sử dụng phổ biến nhất trong thực hành kinh tế lượng. Phương pháp này tạo bảng tần suất tổng hợp cho tất cả các biến cùng lúc.

Hướng dẫn thực hiện Frequencies

Các bước thực hiện như sau:

  • Chọn Analyze → Descriptive Statistics → Frequencies
  • Chuyển các biến cần phân tích vào cửa sổ Variable(s)
  • Bấm Statistics và chọn các chỉ tiêu cần phân tích
  • Bấm Charts và chọn loại đồ thị muốn hiển thị
  • Để hiển thị histogram với đường cong phân phối chuẩn, chọn Histograms và đánh dấu Show normal curve on histogram
  • Bấm OK để thực hiện

Kết quả từ phương pháp Frequencies

Sau khi thực hiện, SPSS sẽ hiển thị các kết quả sau:

Bảng Statistics

Bảng Statistics thể hiện thông tin mô tả tổng hợp cho tất cả các biến trong một bảng duy nhất:

Bảng thống kê mô tả tổng hợp cho các biến nhân khẩu học

Ưu điểm: Bảng này cho phép so sánh nhanh chóng các chỉ số thống kê giữa các biến như trung bình, độ lệch chuẩn, min, max.

Bảng phân phối tần suất

Bên dưới bảng Statistics, SPSS hiển thị bảng phân phối tần suất chi tiết cho từng biến. Ví dụ bảng phân phối tần suất của biến giới tính (sex):

Bảng phân phối tần suất chi tiết của biến giới tính

Bảng này bao gồm các cột:

  • Frequency: Tần suất tuyệt đối
  • Percent: Tỷ lệ phần trăm trên tổng số quan sát
  • Valid Percent: Tỷ lệ phần trăm trên số quan sát hợp lệ
  • Cumulative Percent: Tỷ lệ phần trăm tích lũy

Đồ thị histogram

Tiếp theo là đồ thị histogram cho các biến. Hình dưới đây minh họa histogram cho biến tuổi (age) và giới tính (sex):

So sánh đồ thị histogram giữa biến liên tục và biến phân loại

Phân tích biểu đồ: Biến tuổi (age) có phân phối không chuẩn với đặc điểm thẳng đứng ở mức dưới 18 tuổi do giới hạn mẫu khảo sát. Biến giới tính (sex) là biến phân loại nên không thể có phân phối chuẩn.

Phương pháp 2: Explore

Explore là công cụ mạnh mẽ hơn trong SPSS, đặc biệt hữu ích cho việc phát hiện điểm dị biệt và phân tích chi tiết từng biến.

Hướng dẫn thực hiện Explore

  • Chọn Analyze → Descriptive Statistics → Explore
  • Chuyển các biến cần phân tích vào cửa sổ Dependent List
  • Bấm Plots và bỏ chọn Stem-and-leaf
  • Bấm Options và chọn Exclude cases pairwise
  • Bấm OK để thực hiện

Kết quả từ phương pháp Explore

Bảng Case Processing Summary

Bảng này cung cấp thông tin về tính đầy đủ của dữ liệu:

Bảng Case Processing Summary hiển thị thông tin missing data

Quan trọng: Cần chú ý đến tỷ lệ dữ liệu trống (missing data). Nếu tỷ lệ này quá cao (>5%), cần có biện pháp xử lý phù hợp.

Bảng Descriptives

Khác với Frequencies, Explore hiển thị thông tin chi tiết cho từng biến một cách riêng biệt:

Bảng Descriptives hiển thị thống kê mô tả chi tiết cho từng biến

Bảng này cung cấp thông tin toàn diện bao gồm:

  • Measures of central tendency: Giá trị trung bình (Mean), Giá trị trung vị (Median)
  • Measures of variability: Phương sai (Variance), Độ lệch chuẩn (Std. Deviation)
  • Measures of shape: Độ lệch (Skewness), Độ nhọn (Kurtosis)
  • Confidence intervals: Khoảng tin cậy cho trung bình

Đồ thị boxplot

Một trong những ưu điểm nổi bật của Explore là tạo đồ thị boxplot để phát hiện điểm dị biệt:

Đồ thị boxplot hiển thị điểm dị biệt trong dữ liệu

Phát hiện điểm dị biệt: Đồ thị boxplot của biến trình độ học vấn (edu) cho thấy 5 điểm dị biệt và 1 điểm dị biệt cực mạnh. Cần xem xét xử lý những điểm này trước khi phân tích sâu hơn.

Phân tích bảng tần suất theo từng nhóm

Trong thực hành kinh tế lượng, thường cần phân tích dữ liệu theo các nhóm khác nhau để phát hiện sự khác biệt. Ví dụ, so sánh điểm số giữa sinh viên nam và nữ, hoặc thu nhập giữa khu vực thành thị và nông thôn.

Ví dụ ứng dụng

Giả sử chúng ta muốn tìm hiểu về thành tích học tập môn Kinh tế lượng của sinh viên khoa Tài chính. Ngoài việc thống kê mô tả điểm số chung, chúng ta cần phân tích riêng cho từng nhóm: nam/nữ, thành thị/nông thôn, các lớp khác nhau.

Hướng dẫn thực hiện

Để phân tích theo nhóm, sử dụng biến giới tính (sex) làm biến phân nhóm:

  • Chọn Analyze → Descriptive Statistics → Explore
  • Chuyển các biến cần phân tích vào khung Dependent List
  • Chuyển biến phân nhóm (sex) vào khung Factor List
  • Bấm Statistics và chọn Outliers
  • Bấm Plots và bỏ chọn Stem-and-leaf
  • Bấm OK

Kết quả phân tích theo nhóm

Kết quả sẽ hiển thị thống kê mô tả riêng biệt cho từng nhóm:

Thống kê mô tả phân tích theo nhóm giới tính

Lợi ích của phân tích theo nhóm: Cho phép so sánh trực tiếp các chỉ số thống kê giữa các nhóm, phát hiện sự khác biệt có ý nghĩa, và đưa ra kết luận phù hợp cho từng nhóm đối tượng.

Lưu ý quan trọng trong thực hành

THỐNG KÊ MÔ TẢ DẠNG BẢNG TẦN SUẤT

Các kết quả ở phần thống kê mô tả chỉ cho biết những thông tin bao quát của mẫu dữ liệu các bạn có. Do vậy, không nên suy diễn cho tổng thể hoặc đưa ra các kiến nghị về vấn đề nghiên cứu. Mục đích chính ở đây là đánh giá tổng quan về dữ liệu, để từ đó lựa chọn những kiểm định, những phép suy diễn thống kê phù hợp, đồng thời phát hiện những điểm cần lưu ý trong các phân tích sau này.

Lập và phân tích bảng tần suất trên SPSS
Lập và phân tích bảng tần suất trên SPSS

Các lỗi thường gặp và cách khắc phục

Những lỗi phổ biến cần tránh:

  • Bỏ qua missing data: Luôn kiểm tra tỷ lệ dữ liệu thiếu trước khi phân tích
  • Không phát hiện outliers: Sử dụng boxplot để xác định điểm dị biệt
  • Suy diễn sai: Không được sử dụng thống kê mô tả để suy diễn cho tổng thể
  • Chọn sai phương pháp: Frequencies cho tổng quan và khám phá cho phân tích chi tiết

Ứng dụng trong nghiên cứu kinh tế

Thống kê mô tả dạng bảng tần suất có nhiều ứng dụng quan trọng trong thực hành kinh tế lượng:

  • Nghiên cứu thị trường lao động: Phân tích phân phối mức lương theo ngành nghề, giới tính, trình độ
  • Đánh giá chính sách giáo dục: So sánh kết quả học tập giữa các vùng miền, nhóm dân cư
  • Phân tích tài chính doanh nghiệp: Mô tả phân phối doanh thu, lợi nhuận theo quy mô, ngành
  • Nghiên cứu kinh tế vĩ mô: Phân tích GDP, lạm phát, thất nghiệp qua các thời kỳ

Tổng kết

Thống kê mô tả dạng bảng tần suất là bước khởi đầu quan trọng trong mọi nghiên cứu thực hành kinh tế lượng. Việc thành thạo hai phương pháp Frequencies và Explore trong SPSS sẽ giúp các bạn:

  • Nắm bắt được đặc điểm cơ bản của dữ liệu
  • Phát hiện và xử lý các vấn đề về chất lượng dữ liệu
  • Lựa chọn phương pháp phân tích phù hợp cho các bước tiếp theo
  • Trình bày kết quả một cách khoa học và chuyên nghiệp

Hãy nhớ rằng thống kê mô tả chỉ là bước đầu tiên. Để đưa ra các kết luận khoa học và khuyến nghị chính sách, các bạn cần tiến hành các kiểm định thống kê và mô hình hóa phù hợp.

Key Points:

  • Frequencies và Explore là hai phương pháp chính để tạo bảng tần suất trong SPSS
  • Frequencies phù hợp cho tổng quan nhanh, khám phá phù hợp cho phân tích chi tiết
  • Boxplot trong Explore giúp phát hiện các điểm bị biệt hiệu quả
  • Phân tích theo nhóm bằng cách sử dụng Factor List trong Explore
  • Thống kê mô tả chỉ mô tả mẫu, không được suy diễn cho tổng thể
  • Cần kiểm tra giá trị trống và dị biệt trước khi phân tích sâu hơn

Phụ lục: Code tương đương trên các phần mềm khác

SPSS Syntax

SPSS Syntax (.sps)


* Thống kê mô tả dạng bảng tần suất bằng SPSS Syntax
* Tác giả: Thực hành kinh tế lượng
* Dữ liệu: 2-way-anova.sav

* Mở file dữ liệu
GET FILE='/data/2-way-anova.sav'.

* Phương pháp 1: Frequencies
FREQUENCIES VARIABLES=age edu sex liborcon
  /FORMAT=NOTABLE
  /STATISTICS=STDDEV VARIANCE RANGE MINIMUM MAXIMUM MEAN MEDIAN MODE SKEWNESS SESKEW KURTOSIS SEKURT
  /HISTOGRAM NORMAL
  /ORDER=ANALYSIS.

* Phương pháp 2: Explore
EXAMINE VARIABLES=age edu sex liborcon
  /PLOT BOXPLOT HISTOGRAM
  /COMPARE GROUPS
  /STATISTICS DESCRIPTIVES OUTLIERS
  /CINTERVAL 95
  /MISSING PAIRWISE
  /NOTOTAL.

* Phân tích theo nhóm
EXAMINE VARIABLES=age edu liborcon BY sex
  /PLOT BOXPLOT HISTOGRAM
  /COMPARE GROUPS
  /STATISTICS DESCRIPTIVES OUTLIERS
  /CINTERVAL 95
  /MISSING PAIRWISE
  /NOTOTAL.

Stata

Code Stata


// Thống kê mô tả dạng bảng tần suất bằng Stata
// Tác giả: Thực hành kinh tế lượng
// Dữ liệu: 2-way-anova.dta

* Mở dữ liệu
use "2-way-anova.dta", clear

* Mô tả cấu trúc dữ liệu
describe age edu sex liborcon

* Thống kê mô tả cơ bản
summarize age edu sex liborcon, detail

* Tạo bảng tần suất cho biến phân loại
tabulate sex, missing
tabulate liborcon, missing

* Phân tích phân phối
histogram age, normal
histogram edu, normal

* Phát hiện outliers
boxplot age
boxplot edu

* Thống kê mô tả theo nhóm
by sex, sort: summarize age edu liborcon, detail

* Tạo bảng so sánh theo nhóm
tabstat age edu liborcon, by(sex) statistics(mean median sd min max n)

* Kiểm tra missing data
misstable summarize age edu sex liborcon

R

Code R


# Thống kê mô tả dạng bảng tần suất bằng R
# Tác giả: Thực hành kinh tế lượng
# Dữ liệu: 2-way-anova.csv

# Cài đặt và load các package cần thiết
if (!require(psych)) install.packages("psych")
if (!require(Hmisc)) install.packages("Hmisc")
if (!require(dplyr)) install.packages("dplyr")
if (!require(ggplot2)) install.packages("ggplot2")

library(psych)
library(Hmisc)
library(dplyr)
library(ggplot2)

# Đọc dữ liệu
data <- read.csv("2-way-anova.csv") # Xem cấu trúc dữ liệu str(data) head(data) # Thống kê mô tả cơ bản (tương đương Frequencies) describe(data[c("age", "edu", "sex", "liborcon")]) # Thống kê mô tả chi tiết (tương đương Explore) summary(data[c("age", "edu", "sex", "liborcon")]) # Tạo bảng tần suất cho biến phân loại table(data$sex, useNA = "always") table(data$liborcon, useNA = "always") # Phân tích phân phối và histogram hist(data$age, main = "Histogram of Age", xlab = "Age", col = "lightblue") hist(data$edu, main = "Histogram of Education", xlab = "Education", col = "lightgreen") # Tạo boxplot để phát hiện outliers boxplot(data$age, main = "Boxplot of Age", ylab = "Age") boxplot(data$edu, main = "Boxplot of Education", ylab = "Education") # Thống kê mô tả theo nhóm data %>% group_by(sex) %>% 
  summarise(
    n = n(),
    mean_age = mean(age, na.rm = TRUE),
    median_age = median(age, na.rm = TRUE),
    sd_age = sd(age, na.rm = TRUE),
    mean_edu = mean(edu, na.rm = TRUE),
    median_edu = median(edu, na.rm = TRUE),
    sd_edu = sd(edu, na.rm = TRUE)
  )

# Tạo biểu đồ so sánh theo nhóm
ggplot(data, aes(x = factor(sex), y = age)) + 
  geom_boxplot() + 
  labs(title = "Age Distribution by Gender", x = "Gender", y = "Age")

# Kiểm tra missing data
sapply(data, function(x) sum(is.na(x)))

# Tạo bảng correlation
cor(data[c("age", "edu", "liborcon")], use = "complete.obs")

Python

Code Python


# Thống kê mô tả dạng bảng tần suất bằng Python
# Tác giả: Thực hành kinh tế lượng
# Dữ liệu: 2-way-anova.csv

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats

# Đọc dữ liệu
data = pd.read_csv('2-way-anova.csv')

# Xem thông tin cơ bản về dữ liệu
print("Thông tin dữ liệu:")
print(data.info())
print("\n5 dòng đầu:")
print(data.head())

# Thống kê mô tả cơ bản (tương đương Frequencies)
print("\nThống kê mô tả cơ bản:")
print(data[['age', 'edu', 'sex', 'liborcon']].describe())

# Thống kê mô tả chi tiết (tương đương Explore)
print("\nThống kê mô tả chi tiết:")
for col in ['age', 'edu', 'sex', 'liborcon']:
    print(f"\n--- {col} ---")
    print(f"Mean: {data[col].mean():.2f}")
    print(f"Median: {data[col].median():.2f}")
    print(f"Mode: {data[col].mode().iloc[0]}")
    print(f"Std Dev: {data[col].std():.2f}")
    print(f"Skewness: {data[col].skew():.2f}")
    print(f"Kurtosis: {data[col].kurtosis():.2f}")

# Tạo bảng tần suất cho biến phân loại
print("\nBảng tần suất cho biến sex:")
print(data['sex'].value_counts(dropna=False))
print("\nBảng tần suất cho biến liborcon:")
print(data['liborcon'].value_counts(dropna=False))

# Tạo histogram
plt.figure(figsize=(12, 8))

plt.subplot(2, 2, 1)
plt.hist(data['age'], bins=20, alpha=0.7, color='skyblue', edgecolor='black')
plt.title('Histogram of Age')
plt.xlabel('Age')
plt.ylabel('Frequency')

plt.subplot(2, 2, 2)
plt.hist(data['edu'], bins=15, alpha=0.7, color='lightgreen', edgecolor='black')
plt.title('Histogram of Education')
plt.xlabel('Education')
plt.ylabel('Frequency')

plt.subplot(2, 2, 3)
plt.hist(data['sex'], bins=10, alpha=0.7, color='pink', edgecolor='black')
plt.title('Histogram of Sex')
plt.xlabel('Sex')
plt.ylabel('Frequency')

plt.subplot(2, 2, 4)
plt.hist(data['liborcon'], bins=10, alpha=0.7, color='orange', edgecolor='black')
plt.title('Histogram of Political Attitude')
plt.xlabel('Political Attitude')
plt.ylabel('Frequency')

plt.tight_layout()
plt.show()

# Tạo boxplot để phát hiện outliers
plt.figure(figsize=(12, 6))

plt.subplot(1, 2, 1)
plt.boxplot(data['age'].dropna())
plt.title('Boxplot of Age')
plt.ylabel('Age')

plt.subplot(1, 2, 2)
plt.boxplot(data['edu'].dropna())
plt.title('Boxplot of Education')
plt.ylabel('Education')

plt.tight_layout()
plt.show()

# Thống kê mô tả theo nhóm
print("\nThống kê mô tả theo giới tính:")
print(data.groupby('sex')[['age', 'edu', 'liborcon']].describe())

# Kiểm tra missing data
print("\nDữ liệu thiếu:")
print(data.isnull().sum())

# Tạo correlation matrix
print("\nMa trận tương quan:")
correlation_matrix = data[['age', 'edu', 'liborcon']].corr()
print(correlation_matrix)

# Phát hiện outliers bằng IQR method
def detect_outliers(data, column):
    Q1 = data[column].quantile(0.25)
    Q3 = data[column].quantile(0.75)
    IQR = Q3 - Q1
    lower_bound = Q1 - 1.5 * IQR
    upper_bound = Q3 + 1.5 * IQR
    outliers = data[(data[column] < lower_bound) | (data[column] > upper_bound)]
    return outliers

print("\nPhát hiện outliers:")
for col in ['age', 'edu']:
    outliers = detect_outliers(data, col)
    print(f"{col}: {len(outliers)} outliers detected")

Tài liệu tham khảo

  • Field, A. (2018). Discovering Statistics Using IBM SPSS Statistics. 5th Edition. SAGE Publications.
  • Pallant, J. (2020). SPSS Survival Manual: A Step by Step Guide to Data Analysis Using IBM SPSS. 7th Edition. McGraw-Hill Education.
  • IBM Corporation. (2021). IBM SPSS Statistics Base 28. IBM SPSS Statistics Documentation.
  • Hoàng Trọng & Chu Nguyễn Mộng Ngọc. (2019). Phân tích dữ liệu nghiên cứu với SPSS. NXB Hồng Đức.
  • Nguyễn Khánh Trung. (2020). Thực hành kinh tế lượng với phần mềm thống kê. NXB Thống kê.
  • Dương Trọng Nhân. (2019). Thống kê mô tả và suy luận thống kê. NXB Đại học Quốc gia Hà Nội.
Xem thêm
Back to top button