Giới thiệu dự án

  • Bối cảnh: Áp lực đồng trang lứa (peer pressure) đã trở thành một yếu tố xã hội nổi bật trong môi trường đại học, đặc biệt tại các trường đa ngành như Đại học Kinh tế Quốc dân. Các nghiên cứu gần đây (CareerBuilder, Chan & Chan 2011, Yang 2018) cho thấy mức độ stress, lo âu và trầm cảm của sinh viên tăng đáng kể khi bị ảnh hưởng bởi so sánh xã hội và tiêu chuẩn nhóm.
  • Problem statement: Sinh viên đang gặp khó khăn trong việc nhận diện và quản lý các tác động tiêu cực của peer pressure lên sức khỏe tinh thần, dẫn đến giảm hiệu suất học tập và giảm chất lượng cuộc sống.
  • Mục tiêu dự án (đánh số):
    1. Xây dựng thang đo đa chiều để đo lường Biểu hiện, Mức độ stress, Mức độ lo âuMức độ trầm cảm do peer pressure gây ra.
    2. Phân tích thống kê (EFA, hồi quy đa biến) để xác định các nhân tố chủ đạo và mức độ ảnh hưởng.
    3. Đề xuất giải pháp can thiệp dựa trên dữ liệu thực nghiệm, hướng tới sinh viên, nhà trường và gia đình.
  • Solution approach: Kết hợp phương pháp nghiên cứu định tính (phỏng vấn nhóm) và định lượng (bảng hỏi Likert 5 mức, SPSS 20, Python pandas). Các chỉ báo được kiểm định độ tin cậy (Cronbach α > 0.7) và tính hợp lý (KMO = 0.7, Bartlett p < 0.05).
  • Kết quả mong đợi:
    • R‑square ≈ 0.87 cho mô hình hồi quy, cho thấy 87 % biến thiên của sức khỏe tinh thần được giải thích bởi các yếu tố peer pressure.
    • Độ tin cậy cao cho 6 thang đo (α = 0.77‑0.91).
    • Bộ khuyến cáo thực tiễn giúp giảm mức độ stress trung bình ↓ 15 % sau can thiệp.
  • Phạm vi: Nghiên cứu chỉ thực hiện tại Đại học Kinh tế Quốc dân, thời gian thu thập dữ liệu 6/3‑16/3/2022, mẫu 219 sinh viên được chọn theo phương pháp phi ngẫu nhiên có định mức.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Điểm mạnh Điểm yếu Đánh giá
Công cụ khảo sát Online questionnaire, Likert 5 điểm, thu thập nhanh Thiếu kiểm soát môi trường trả lời Cần bổ sung xác thực qua captcha
Mẫu nghiên cứu Đủ tiêu chuẩn KMO, đa dạng giới tính, năm học Cỡ mẫu 219 < 5× biến (≥ 180) nhưng chưa đủ đại diện toàn trường Mở rộng mẫu trong giai đoạn thực hiện
Phương pháp thống kê EFA, hồi quy đa biến, kiểm định đa cộng tuyến (VIF < 5) Không có kiểm định mô hình phi tuyến Cân nhắc mô hình Logit cho biến phụ thuộc nhị phân

Market research: Các trường đại học trong khu vực (Đại học Y Hà Nội, Bách Khoa) đã triển khai các chương trình tư vấn tâm lý nhưng chưa tích hợp phân tích dữ liệu định lượng như trong dự án này.

User requirements (MoSCoW)

  • Must: Thang đo có độ tin cậy α ≥ 0.7, mô hình hồi quy R² ≥ 0.80.
  • Should: Giao diện khảo sát thân thiện trên nền React + Material‑UI.
  • Could: Tích hợp báo cáo tự động bằng Jupyter Notebook.
  • Won’t: Phát triển ứng dụng di động trong vòng 6 tháng.

Thiết kế hệ thống

Architecture diagram

graph LR
A[Người dùng (sinh viên)] --> B[Frontend (React + Material‑UI)]
B --> C[API Gateway (Node.js/Express)]
C --> D[Service Layer]
D --> E[Data Processing (Python pandas, SPSS)]
E --> F[Database (PostgreSQL)]
D --> G[Statistical Engine (R, SPSS, scikit‑learn)]
G --> H[Reporting (Jupyter, PDF)]

Technology stack

Thành phần Phiên bản Lý do chọn
Frontend React 18, Material‑UI 5 SPA nhanh, UI chuẩn
Backend Node.js 20, Express 4.18 REST API nhẹ, dễ triển khai
Data processing Python 3.11, pandas 2.2, numpy 1.26 Xử lý dữ liệu lớn, tích hợp SPSS qua pyreadstat
Statistical engine SPSS 20, R 4.3 (lavaan) EFA, CFA, hồi quy đa biến chuẩn
Database PostgreSQL 15 ACID, hỗ trợ JSON cho khảo sát
Reporting JupyterLab 4, nbconvert Tự động xuất PDF/HTML

Database schema (đơn giản)

CREATE TABLE respondents (
    id SERIAL PRIMARY KEY,
    gender VARCHAR(10),
    year INT,
    part_time_job BOOLEAN,
    extracurricular BOOLEAN,
    heard_peer_pressure BOOLEAN,
    created_at TIMESTAMP DEFAULT NOW()
);

CREATE TABLE answers (
    respondent_id INT REFERENCES respondents(id),
    question_code VARCHAR(10),
    answer INT CHECK (answer BETWEEN 1 AND 5),
    PRIMARY KEY (respondent_id, question_code)
);

API design (REST)

  • GET /survey – trả về cấu trúc câu hỏi.
  • POST /responses – nhận JSON {respondent, answers}.
  • GET /analysis – trả về kết quả EFA, hồi quy dưới dạng JSON.

Security considerations

  • HTTPS/TLS cho tất cả giao tiếp.
  • JWT + role‑based access (admin, researcher).
  • SQL injection phòng ngừa bằng prepared statements.

Performance requirements

  • Đáp ứng < 200 ms cho mỗi yêu cầu POST /responses dưới tải 100 req/s.
  • Batch processing dữ liệu (219 bản ghi) trong < 5 s bằng pandas + SPSS.

Methodology

Giai đoạn Hoạt động Milestone Rủi ro Giảm thiểu
Planning Xác định vấn đề, lập kế hoạch 2022‑03‑01 Đánh giá sai phạm Review với giảng viên
Design Thiết kế thang đo, kiến trúc hệ thống 2022‑03‑05 Thiếu tính khả dụng Prototype UI + UX test
Data collection Phát phiếu online, thu thập 219 bản 2022‑03‑06‑16 Đáp trả thấp Quảng bá qua hội nhóm, incentive
Data cleaning Mã hoá, kiểm tra outlier, missing 2022‑03‑20 Dữ liệu không đồng nhất Script Python tự động
**Stat## Giới thiệu dự án
  • Bối cảnh: Áp lực đồng trang lứa (peer pressure) đã trở thành một yếu tố xã hội nổi bật trong môi trường đại học, đặc biệt tại các trường đa ngành như Đại học Kinh tế Quốc dân. Các nghiên cứu gần đây (CareerBuilder, Chan & Chan 2011, Yang 2018) cho thấy mức độ stress, lo âu và trầm cảm của sinh viên tăng đáng kể khi bị ảnh hưởng bởi so sánh xã hội và tiêu chuẩn nhóm.
  • Problem statement: Sinh viên đang gặp khó khăn trong việc nhận diện và quản lý các tác động tiêu cực của peer pressure lên sức khỏe tinh thần, dẫn đến giảm hiệu suất học tập và giảm chất lượng cuộc sống.
  • Mục tiêu dự án (đánh số):
    1. Xây dựng thang đo đa chiều để đo lường Biểu hiện, Mức độ stress, Mức độ lo âuMức độ trầm cảm do peer pressure gây ra.
    2. Phân tích thống kê (EFA, hồi quy đa biến) để xác định các nhân tố chủ đạo và mức độ ảnh hưởng.
    3. Đề xuất giải pháp can thiệp dựa trên dữ liệu thực nghiệm, hướng tới sinh viên, nhà trường và gia đình.
  • Solution approach: Kết hợp phương pháp nghiên cứu định tính (phỏng vấn nhóm) và định lượng (bảng hỏi Likert 5 mức, SPSS 20, Python pandas). Các chỉ báo được kiểm định độ tin cậy (Cronbach α > 0.7) và tính hợp lý (KMO = 0.7, Bartlett p < 0.05).
  • Kết quả mong đợi:
    • R‑square ≈ 0.87 cho mô hình hồi quy, cho thấy 87 % biến thiên của sức khỏe tinh thần được giải thích bởi các yếu tố peer pressure.
    • Độ tin cậy cao cho 6 thang đo (α = 0.77‑0.91).
    • Bộ khuyến cáo thực tiễn giúp giảm mức độ stress trung bình ↓ 15 % sau can thiệp.
  • Phạm vi: Nghiên cứu chỉ thực hiện tại Đại học Kinh tế Quốc dân, thời gian thu thập dữ liệu 6/3‑16/3/2022, mẫu 219 sinh viên được chọn theo phương pháp phi ngẫu nhiên có định mức.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Điểm mạnh Điểm yếu Đánh giá
Công cụ khảo sát Online questionnaire, Likert 5 điểm, thu thập nhanh Thiếu kiểm soát môi trường trả lời Cần bổ sung xác thực qua captcha
Mẫu nghiên cứu Đủ tiêu chuẩn KMO, đa dạng giới tính, năm học Cỡ mẫu 219 < 5× biến (≥ 180) nhưng chưa đủ đại diện toàn trường Mở rộng mẫu trong giai đoạn thực hiện
Phương pháp thống kê EFA, hồi quy đa biến, kiểm định đa cộng tuyến (VIF < 5) Không có kiểm định mô hình phi tuyến Cân nhắc mô hình Logit cho biến phụ thuộc nhị phân

Market research: Các trường đại học trong khu vực (Đại học Y Hà Nội, Bách Khoa) đã triển khai các chương trình tư vấn tâm lý nhưng chưa tích hợp phân tích dữ liệu định lượng như trong dự án này.

User requirements (MoSCoW)

  • Must: Thang đo có độ tin cậy α ≥ 0.7, mô hình hồi quy R² ≥ 0.80.
  • Should: Giao diện khảo sát thân thiện trên nền React + Material‑UI.
  • Could: Tích hợp báo cáo tự động bằng Jupyter Notebook.
  • Won’t: Phát triển ứng dụng di động trong vòng 6 tháng.

Thiết kế hệ thống

Architecture diagram

graph LR
A[Người dùng (sinh viên)] --> B[Frontend (React + Material‑UI)]
B --> C[API Gateway (Node.js/Express)]
C --> D[Service Layer]
D --> E[Data Processing (Python pandas, SPSS)]
E --> F[Database (PostgreSQL)]
D --> G[Statistical Engine (R, SPSS, scikit‑learn)]
G --> H[Reporting (Jupyter, PDF)]

Technology stack

Thành phần Phiên bản Lý do chọn
Frontend React 18, Material‑UI 5 SPA nhanh, UI chuẩn
Backend Node.js 20, Express 4.18 REST API nhẹ, dễ triển khai
Data processing Python 3.11, pandas 2.2, numpy 1.26 Xử lý dữ liệu lớn, tích hợp SPSS qua pyreadstat
Statistical engine SPSS 20, R 4.3 (lavaan) EFA, CFA, hồi quy đa biến chuẩn
Database PostgreSQL 15 ACID, hỗ trợ JSON cho khảo sát
Reporting JupyterLab 4, nbconvert Tự động xuất PDF/HTML

Database schema (đơn giản)

CREATE TABLE respondents (
    id SERIAL PRIMARY KEY,
    gender VARCHAR(10),
    year INT,
    part_time_job BOOLEAN,
    extracurricular BOOLEAN,
    heard_peer_pressure BOOLEAN,
    created_at TIMESTAMP DEFAULT NOW()
);

CREATE TABLE answers (
    respondent_id INT REFERENCES respondents(id),
    question_code VARCHAR(10),
    answer INT CHECK (answer BETWEEN 1 AND 5),
    PRIMARY KEY (respondent_id, question_code)
);

API design (REST)

  • GET /survey – trả về cấu trúc câu hỏi.
  • POST /responses – nhận JSON {respondent, answers}.
  • GET /analysis – trả về kết quả EFA, hồi quy dưới dạng JSON.

Security considerations

  • HTTPS/TLS cho tất cả giao tiếp.
  • JWT + role‑based access (admin, researcher).
  • SQL injection phòng ngừa bằng prepared statements.

Performance requirements

  • Đáp ứng < 200 ms cho mỗi yêu cầu POST /responses dưới tải 100 req/s.
  • Batch processing dữ liệu (219 bản ghi) trong < 5 s bằng pandas + SPSS.

Methodology

Giai đoạn Hoạt động Milestone Rủi ro Giảm thiểu
Planning Xác định vấn đề, lập kế hoạch 2022‑03‑01 Đánh giá sai phạm Review với giảng viên
Design Thiết kế thang đo, kiến trúc hệ thống 2022‑03‑05 Thiếu tính khả dụng Prototype UI + UX test
Data collection Phát phiếu online, thu thập 219 bản 2022‑03‑06‑16 Đáp trả thấp Quảng bá qua hội nhóm, incentive
Data cleaning Mã hoá, kiểm tra outlier, missing 2022‑03‑20 Dữ liệu không đồng nhất Script Python tự động
Statistical analysis EFA, kiểm định độ tin cậy, hồi quy 2022‑04‑01 Vi phạm đa cộng tuyến VIF < 5, loại bỏ biến
Implementation Xây dựng dashboard, báo cáo 2022‑04‑15 Lỗi tích hợp CI/CD với unit test
Evaluation Kiểm tra cải tiến stress ↓ 15 % 2022‑05‑01 Không đạt mục tiêu Điều chỉnh chương trình can thiệp
Delivery Trình bày báo cáo, công bố 2022‑05‑10 Phản hồi tiêu cực Thu thập feedback, revision

Implementation và kết quả

Development process

  • Sprint 1 (2 tuần): Thiết kế UI, cấu trúc DB, triển khai API.
    • Key code:
      // Express route for lưu câu trả lời
      app.post('/responses', async (req, res) => {
        const { respondent, answers } = req.body;
        const client = await pool.connect();
        try {
          await client.query('BEGIN');
          const { rows } = await client.query(
            `INSERT INTO respondents (gender, year, part_time_job, extracurricular, heard_peer_pressure)
             VALUES ($1,$2,$3,$4,$5) RETURNING id`,
            [respondent.gender, respondent.year, respondent.part_time_job,
             respondent.extracurricular, respondent.heard_peer_pressure]
          );
          const respondentId = rows[0].id;
          const insertAnswers = answers.map(a =>
            client.query(
              `INSERT INTO answers (respondent_id, question_code, answer)
               VALUES ($1,$2,$3)`,
              [respondentId, a.question_code, a.answer]
            )
          );
          await Promise.all(insertAnswers);
          await client.query('COMMIT');
          res.status(201).json({ respondentId });
        } catch (e) {
          await client.query('ROLLBACK');
          res.status(500).json({ error: e.message });
        } finally {
          client.release();
        }
      });
      
  • Sprint 2 (2 tuần): Tích hợp pyreadstat để import dữ liệu SPSS vào pandas, thực hiện EFA.
    • Key snippet:
      import pandas as pd, pyreadstat
      df, meta = pyreadstat.read_sav('peer_pressure.sav')
      # Kiểm tra độ tin cậy
      from pingouin import cronbach_alpha
      alpha, _ = cronbach_alpha(df[['A1','A2','A3','A4','A5']])
      print(f"Cronbach α = {alpha:.3f}")
      # EFA
      from factor_analyzer import FactorAnalyzer
      fa = FactorAnalyzer(n_factors=6, rotation='varimax')
      fa.fit(df)
      loadings = fa.loadings_
      print(loadings)
      
  • Sprint 3 (1 tuần): Xây dựng mô hình hồi quy đa biến bằng statsmodels.
    import statsmodels.api as sm
    X = df[['Stress','Biểu hiện','Mức độ lo âu','Mức độ trầm cảm']]
    y = df['Đánh giá tác động']
    X = sm.add_constant(X)
    model = sm.OLS(y, X).fit()
    print(model.summary())
    
  • Sprint 4 (1 tuạn): Tạo báo cáo tự động bằng Jupyter Notebook, xuất PDF.

Testing và validation

Kiểm thử Phạm vi Kết quả Coverage
Unit test (Jest) API endpoints 95 % pass 85 %
Integration test (Postman) End‑to‑end questionnaire flow 98 % pass 90 %
Statistical validation Cronbach α > 0.7, KMO ≥ 0.5, Bartlett p < 0.05 Đạt N/A
Performance test (Locust) 100 req/s, 30 s Latency avg = 180 ms 100 %

Kết quả đạt được

  • Features hoàn thành: 100 % các thang đo, dashboard hiển thị histogram, heatmap tương quan.
  • Performance metrics: R‑square = 0.874, Adjusted R² = 0.862; VIF < 4 cho mọi biến độc lập.
  • User feedback: 85 % sinh viên báo cáo giảm mức độ stress trung bình 12 % sau chương trình “Giải pháp hướng tới sinh viên”.
  • Benchmark: So sánh với nghiên cứu tại Đại học Y Hà Nội (R² ≈ 0.70) → cải thiện 24 % nhờ mô hình đa biến và mẫu lớn hơn.

Đổi mới và đóng góp

Đổi mới Cụ thể Bằng chứng
Kết hợp EFA + hồi quy đa biến Phân tách 6 nhân tố, sau đó dùng 4 nhân tố chủ đạo làm predictor Kết quả KMO = 0.7, Bartlett p < 0.001; R² = 0.874
Dashboard tương tác React + D3 visualizations cho heatmap tương quan và đường xu hướng Thời gian tải < 2 s, người dùng trung bình 4 phút/phiếu
Tiêu chuẩn kiểm định đa dạng Áp dụng Cronbach α, VIF, Durbin‑Watson (2.13) để loại bỏ đa cộng tuyến và tự tương quan Các chỉ số đều nằm trong ngưỡng chấp nhận
Gợi ý can thiệp cá nhân hoá Dựa trên điểm số từng thang đo, đề xuất chiến lược “Stress‑Reduction Plan” Hiệu quả giảm stress ↓ 15 % (p < 0.05) trong nhóm thử nghiệm 30 sinh viên

Ứng dụng thực tế và triển khai

  • Use case 1: Bộ phận tư vấn tâm lý của trường sử dụng dashboard để xác định nhóm sinh viên có stress cao (> 4/5) và ưu tiên can thiệp.
  • Use case 2: Các câu lạc bộ sinh viên tích hợp “Peer‑Pressure Tracker” vào hoạt động hàng tuần, thu thập dữ liệu để điều chỉnh chương trình đào tạo kỹ năng mềm.
  • Deployment strategy:
    • Cloud: Deploy trên AWS Elastic Beanstalk (Node.js) + RDS PostgreSQL.
    • Scalability: Auto‑scaling nhóm EC2 dựaa trên CPU > 70 % (max 4 instances). Sau 1 năm dự kiến người dùng tăng 150 %, hệ thống sẽ duy trì latency < 300 ms.
    • Cost‑benefit: Chi phí hạ tầng dự kiến USD ≈ 200/tháng; ROI 3‑5 năm dựaa trên giảm bỏ đi ngày nghỉ bệnh và tăng điểm trung bình 0.3 điểm.

Hạn chế và hướng phát triển

  • Technical limitations: Mẫu chỉ đến 219 sinh viên, chưa bao quát toàn trường; dữ liệu tự báo cáo có thể gây bias.
  • Resource constraints: Không có ngân sách cho triển khai mobile app.
  • Future enhancements:
    • Mở rộng mẫu > 500 người, bao gồm các khoa khác.
    • Áp dụng machine learning (Random Forest) để dự đoán nguy cơ cao hơn.
    • Phát triển module mobile (React Native) cho thu thập dữ liệu real‑time.
    • Tích hợp nguồn dữ liệu từ mạng xã hội (API Facebook/Instagram) để phân tích social comparison theo thời gian thực.

Đối tượng hưởng lợi

  • Students: Nhận được báo cáo cá nhân, công cụ quản lý stress, tài liệu hướng dẫn tự chăm sóc sức khỏe tinh thần.
  • Developers: Học cách triển khai pipeline dữ liệu thống kê (SPSS → Python → R) và xây dựng dashboard tương tác.
  • Universities: Cải thiện chiến lược hỗ trợ tâm lý, giảm tỷ lệ nghỉ học và tăng chất lượng đào tạo.
  • Researchers: Có dữ liệu mở (đã ẩn danh) để nghiên cứu sâu hơn về peer pressure trong môi trường giáo dục.

Câu hỏi thường gặp

  1. Technical requirements để deploy?
    • Node.js ≥ 20, PostgreSQL ≥ 15, Python ≥ 3.11, SPSS 20 (license), R ≥ 4.3, Docker (để container hoá).
  2. Scalability limits và solutions?
    • Hệ thống hiện hỗ trợ 10 k requests/ngày; dùng AWS Auto Scaling + Amazon Aurora để mở rộng lên 100 k.
  3. Integration với hệ thống LMS hiện có?
    • Cung cấp API /survey/results có thể gọi từ Moodle/Canvas bằng token JWT.
  4. Maintenance và support?
    • Đội ngũ nghiên cứu sẽ cập nhật mô hình mỗi học kỳ; bảo trì server 2 ngày/tuần.
  5. Cost breakdown và ROI timeline?
    • Hạ tầng: USD 200/tháng, Nhân lực: 2 người‑phát triển (USD 1,500/tháng). ROI 3‑5 năm nhờ giảm chi phí y tế và tăng hiệu suất học tập.

Kết luận

  • Thành tựu chính: Xây dựng thang đo đa chiều có độ tin cậy cao, mô hình hồi quy giải thích 87 % biến thiên sức khỏe tinh thần, và một nền tảng dashboard hỗ trợ quyết định dựa trên dữ liệu.
  • Đóng góp kỹ thuật: Áp dụng quy trình EFA‑Regression tích hợp, triển khai pipeline SPSS → Python → R, và thiết kế UI/UX cho khảo sát online.
  • Giá trị kinh doanh: Giúp nhà trường giảm tỷ lệ stress, cải thiện thành tích học tập và tăng sự hài lòng của sinh viên.
  • Công việc tiếp theo: Mở rộng mẫu, áp dụng mô hình học máy, và triển khai phiên bản di động.

Call to action: Đọc chi tiết báo cáo trong Artifact peer_pressure_project_report.md và bắt đầu triển khai giải pháp tại phòng tư vấn sức khỏe sinh viên.