Cover Page

Artikel Penelitian
Analisis Faktor-Faktor yang Mempengaruhi Diagnosis Polycystic Ovary Syndrome (PCOS) pada Wanita Usia Reproduksi Menggunakan Uji Chi-Square dan Regresi Logistik Biner
Siti Khalilah1 dan Stefanie Aurelia Clarissa Harisusanti2

Kelas C Analisis Data Kategori


Abstrak

Polycystic Ovary Syndrome (PCOS) merupakan salah satu gangguan endokrin yang paling umum terjadi pada wanita usia reproduksi dan dapat menyebabkan gangguan menstruasi, infertilitas, serta berbagai komplikasi metabolik. Identifikasi faktor-faktor yang berhubungan dengan diagnosis PCOS penting dilakukan untuk mendukung deteksi dini dan penanganan yang tepat. Penelitian ini bertujuan menganalisis faktor-faktor yang mempengaruhi diagnosis PCOS menggunakan pendekatan uji Chi-Square dan regresi logistik biner. Data yang digunakan merupakan data sekunder PCOS Dataset yang tersedia pada platform Kaggle dan dikumpulkan dari sepuluh rumah sakit di Kerala, India dengan jumlah observasi sebanyak 515 pasien. Variabel dependen yang digunakan adalah status diagnosis PCOS (Ya/Tidak), sedangkan variabel independen meliputi Body Mass Index (BMI), siklus menstruasi, kenaikan berat badan, pertumbuhan rambut berlebih, kerontokan rambut, dan jerawat. Analisis diawali dengan statistik deskriptif untuk menggambarkan karakteristik data, dilanjutkan dengan uji Chi-Square untuk mengidentifikasi hubungan antara masing-masing variabel independen dengan status PCOS. Selanjutnya, regresi logistik biner digunakan untuk menentukan faktor-faktor yang berpengaruh signifikan terhadap diagnosis PCOS. Hasil penelitian diharapkan dapat memberikan informasi mengenai faktor risiko utama PCOS serta menjadi referensi dalam upaya deteksi dini pada wanita usia reproduksi.

Keywords: PCOS; Regresi Logistik Biner; Chi-Square.

1 Introduction

Polycystic Ovary Syndrome (PCOS) merupakan salah satu gangguan endokrin yang paling umum dialami oleh wanita usia reproduksi [2]. PCOS ditandai oleh gangguan ovulasi, hiperandrogenisme, serta adanya morfologi ovarium polikistik yang dapat menyebabkan berbagai masalah kesehatan reproduksi maupun metabolik [6]. Prevalensi PCOS diperkirakan berkisar antara 6% hingga 20% tergantung pada kriteria diagnosis yang digunakan [2]. Selain menyebabkan infertilitas, PCOS juga dikaitkan dengan peningkatan risiko diabetes melitus tipe 2, obesitas, sindrom metabolik, dan penyakit kardiovaskular [8].

Diagnosis PCOS umumnya didasarkan pada kombinasi gejala klinis, pemeriksaan hormonal, serta hasil ultrasonografi [3]. Beberapa gejala yang sering ditemukan pada penderita PCOS meliputi siklus menstruasi yang tidak teratur, peningkatan berat badan, pertumbuhan rambut berlebih (hirsutisme), kerontokan rambut, dan munculnya jerawat akibat peningkatan kadar hormon androgen [6][7]. Berbagai faktor tersebut sering digunakan sebagai indikator awal dalam proses identifikasi PCOS [2].

Seiring berkembangnya teknologi analisis data, metode statistik menjadi alat yang penting untuk mengidentifikasi faktor-faktor yang berpengaruh terhadap diagnosis PCOS. Salah satu metode yang sesuai adalah regresi logistik biner karena variabel respon yang digunakan bersifat dikotomi, yaitu status PCOS (Ya/Tidak) [9]. Selain itu, uji Chi-Square dapat digunakan untuk mengidentifikasi hubungan awal antara variabel kategorik dengan status diagnosis PCOS [10].

Penelitian ini menggunakan dataset PCOS yang diperoleh dari Kaggle dan berasal dari sepuluh rumah sakit di Kerala, India [1]. Variabel yang digunakan meliputi indeks massa tubuh (BMI), siklus menstruasi, kenaikan berat badan, pertumbuhan rambut berlebih, kerontokan rambut, dan jerawat. Tujuan penelitian adalah mengidentifikasi faktor-faktor yang berhubungan dan berpengaruh terhadap diagnosis PCOS menggunakan uji Chi-Square dan regresi logistik biner.

2 Materials and Methods

2.1 Sumber Data

Penelitian ini menggunakan data sekunder yang diperoleh dari Polycystic Ovary Syndrome (PCOS) Dataset yang tersedia secara publik pada platform Kaggle [1]. Dataset tersebut dikumpulkan dari sepuluh rumah sakit di Kerala, India dan berisi informasi klinis, karakteristik fisik, serta gejala yang berkaitan dengan diagnosis Polycystic Ovary Syndrome (PCOS) [1]. Dataset terdiri atas 515 observasi pasien wanita usia reproduksi dengan status diagnosis PCOS dan non-PCOS.

Data dapat diakses melalui tautan berikut: https://www.kaggle.com/datasets/prasoonkottarathil/polycystic-ovary-syndrome-pcos.

Karena data bersifat publik dan telah dianonimkan oleh penyedia dataset, penelitian ini tidak memerlukan persetujuan etik tambahan maupun persetujuan tertulis dari responden.

2.2 Variabel Penelitian

Variabel dependen yang digunakan dalam penelitian ini adalah status diagnosis PCOS yang terdiri atas dua kategori, yaitu PCOS (Ya=1) dan Non-PCOS (Tidak=0).

Variabel independen yang digunakan meliputi:

  1. BMI (Body Mass Index), yang dikategorikan menjadi normal (<25 kg/m²) dan overweight/obesitas (≥25 kg/m²) (berdasarkan WHO [12]);
  2. Siklus menstruasi (Cycle), yang terdiri atas kategori reguler dan tidak reguler;
  3. Weight Gain, yaitu kondisi kenaikan berat badan (Ya/Tidak);
  4. Hair Growth, yaitu pertumbuhan rambut berlebih atau hirsutisme (Ya/Tidak);
  5. Hair Loss, yaitu kerontokan rambut (Ya/Tidak);
  6. Pimples, yaitu kondisi munculnya jerawat (Ya/Tidak).

Seluruh variabel independen dikategorikan dalam bentuk nominal sehingga sesuai untuk dianalisis menggunakan uji Chi-Square dan regresi logistik biner.

2.3 Metode Analisis

Analisis data dilakukan menggunakan pendekatan statistik deskriptif, uji Chi-Square, dan regresi logistik biner.

2.3.1 Analisis Deskriptif

Analisis deskriptif digunakan untuk menggambarkan karakteristik data penelitian melalui distribusi frekuensi dan persentase pada masing-masing variabel. Analisis ini bertujuan memberikan gambaran umum mengenai kondisi responden berdasarkan status diagnosis PCOS dan faktor-faktor yang diteliti.

2.3.2 Uji Chi-Square

Uji Chi-Square digunakan untuk mengidentifikasi hubungan antara masing-masing variabel independen dengan status diagnosis PCOS [10]. Hipotesis yang digunakan adalah:

  • H₀ : Tidak terdapat hubungan antara variabel independen dan diagnosis PCOS.
  • H₁ : Terdapat hubungan antara variabel independen dan diagnosis PCOS.

Statistik Uji Chi-Square dirumuskan sebagai:

\[ \chi^2 = \sum \frac{(O - E)^2}{E} \tag{1} \]

dengan O merupakan frekuensi observasi dan E merupakan frekuensi harapan. Keputusan pengujian dilakukan pada taraf signifikansi 5%.

Keputusan pengujian dilakukan pada tingkat signifikansi 5%. Variabel dengan nilai p-value kurang dari 0,05 dianggap memiliki hubungan yang signifikan dengan diagnosis PCOS.

2.3.3 Regresi Logistik Biner

Regresi logistik biner digunakan untuk mengidentifikasi faktor-faktor yang mempengaruhi probabilitas diagnosis PCOS. Metode ini dipilih karena variabel respon bersifat dikotomi, yaitu PCOS (Ya/Tidak) [9].

Model regresi logistik yang digunakan adalah:

\[ log[p/1 - p] = \beta_0 + \beta_1X_1 + \beta_2X_2 + \beta_3X_3 + \beta_4X_4 + \beta_5X_5 + \beta_6X_6 \tag{2} \]

Dengan:

  • X₁ = BMI
  • X₂ = Siklus Menstruasi
  • X₃ = Weight Gain
  • X₄ = Hair Growth
  • X₅ = Hair Loss
  • X₆ = Pimples

Parameter model diestimasi menggunakan metode Maximum Likelihood Estimation (MLE). Signifikansi parameter diuji menggunakan Uji Wald pada taraf signifikansi 5% [9]. Besarnya pengaruh masing-masing variabel independen terhadap diagnosis PCOS diinterpretasikan melalui nilai Odds Ratio (OR).

2.3.4 Seleksi Model

Untuk memperoleh model yang lebih sederhana dan optimal, dilakukan seleksi variabel menggunakan metode Stepwise berdasarkan nilai Akaike Information Criterion (AIC) [11]. Model dengan nilai AIC yang lebih kecil dipilih sebagai model terbaik karena memberikan keseimbangan antara tingkat kecocokan model dan kompleksitas model.

2.3.5 Evaluasi Model

Kelayakan model regresi logistik dievaluasi menggunakan beberapa ukuran performa. Uji Hosmer-Lemeshow digunakan untuk menguji kesesuaian model terhadap data observasi. Nilai Nagelkerke R² digunakan untuk mengukur kemampuan model dalam menjelaskan variasi data [9].

Kemampuan klasifikasi model dievaluasi menggunakan confusion matrix yang menghasilkan nilai akurasi (accuracy), sensitivitas (sensitivity), dan spesifisitas (specificity). Selain itu, kemampuan diskriminasi model dievaluasi menggunakan kurva Receiver Operating Characteristic (ROC) dan nilai Area Under Curve (AUC) [11]. Semakin tinggi nilai AUC, semakin baik kemampuan model dalam membedakan pasien PCOS dan non-PCOS.

2.4 Perangkat Lunak

Seluruh proses pengolahan dan analisis data dilakukan menggunakan perangkat lunak R. Analisis meliputi statistik deskriptif, uji Chi-Square, regresi logistik biner, seleksi model menggunakan Stepwise AIC, serta evaluasi performa model melalui Hosmer-Lemeshow Test, Nagelkerke R², confusion matrix, kurva ROC, dan nilai AUC.

3 Results

3.1 Analisis Deskriptif

Penelitian ini menggunakan data sebanyak 515 wanita usia reproduksi yang terdiri atas 347 responden non-PCOS (67,38%) dan 168 responden PCOS (32,62%). Statistik deskriptif untuk variabel numerik disajikan pada Tabel 1, sedangkan distribusi frekuensi variabel kategorik disajikan pada Tabel 2.

Tabel 1. Statistik deskriptif variabel numerik.

Variabel Minimum Q1 Median Mean Q3 Maksimum SD
Berat badan
(kg)
31,00 52,00 60,00 59,73 65,00 108,00
Tinggi badan
(cm)
137,00 152,0 156,00 156,4 160,0 180,00
BMI (kg/m²) 12,42 21,67 24,35 24,38 26,69 38,90 4,10

Tabel 1 menunjukkan bahwa rata-rata BMI responden sebesar 24,38 kg/m² dengan simpangan baku 4,10 kg/m². Nilai median BMI sebesar 24,35 kg/m² menunjukkan bahwa sebagian besar responden berada pada kategori normal hingga mendekati overweight.

Tabel 2. Distribusi frekuensi variabel kategorik.

Variabel Kategori Frekuensi Persentase (%)
Diagnosis PCOS Tidak 347 67,38
Ya 168 32,62
BMI Normal 295 57,28
Overweight/obesitas 220 42,72
Siklus menstruasi Reguler 371 72,04
Tidak reguler 144 27,96
Weight gain Tidak 320 62,14
Ya 195 37,86
Hair growth Tidak 372 72,23
Ya 143 27,77
Hair loss Tidak 284 55,15
Ya 231 44,85
Pimples Tidak 272 52,82
Ya 243 47,18

Berdasarkan Tabel 2, sebagian besar responden memiliki BMI normal (57,28%) dan siklus menstruasi reguler (72,04%). Selain itu, mayoritas responden tidak mengalami kenaikan berat badan (62,14%), pertumbuhan rambut berlebih (72,23%), maupun kerontokan rambut (55,15%). Distribusi kejadian jerawat relatif seimbang dengan 47.18% responden melaporkan mengalami jerawat.

3.2 Uji Chi-Square

Uji Chi-Square dilakukan untuk mengidentifikasi hubungan antara masing-masing variabel independen dengan status diagnosis PCOS. Hasil pengujian disajikan pada Tabel 3.

Tabel 3. Hasil uji Chi-Square antara faktor risiko dan diagnosis PCOS.

Variabel χ2 p-value Keputusan
DMI 14,058 0,00018 Signifikan
Siklus menstruasi 83,086 <0,0001 Signifikan
Weight gain 109,040 <0,0001 Signifikan
Hair growth 105,110 <0,0001 Signifikan
Hair loss 17,514 <0,0001 Signifikan
Pimples 43,998 <0,0001 Signifikan

Hasil pada Tabel 3 menunjukkan bahwa seluruh variabel independen memiliki hubungan yang signifikan dengan diagnosis PCOS pada taraf signifikansi 5%. Variabel weight gain dan hair growth menunjukkan nilai statistik Chi-Square terbesar, yang mengindikasikan adanya hubungan yang kuat dengan status diagnosis PCOS.

3.3 Regresi Logistik Biner

3.3.1 Hasil Estimasi Model Awal

Model regresi logistik biner awal dibentuk menggunakan seluruh variabel independen yang telah terbukti memiliki hubungan dengan diagnosis PCOS berdasarkan uji Chi-Square, yaitu BMI, siklus menstruasi, weight gain, hair growth, hair loss, dan pimples.

Hasil estimasi model awal menunjukkan bahwa variabel siklus menstruasi tidak reguler, weight gain, hair growth, dan pimples berpengaruh signifikan terhadap diagnosis PCOS. Sebaliknya, variabel BMI dan hair loss tidak menunjukkan pengaruh yang signifikan pada taraf signifikansi 5%.

Tabel 4. Estimasi parameter model awal regresi logistik biner.

Variabel Koefisien Std. Error Wald χ2 p-value
Intercept -2,8070 0,2624 114,46,59 <0,0001
BMI
overweight/obesitas
-0,5043 0,3024 2,78 0,0954
Siklus tidak reguler 1,4368 0,2598 30,58 <0,0001
Weight gain 1,8148 0,3042 35,58 <0,0001
Hair growth 1,6250 0,2599 39,09 <0,0001
Hair loss -0,0038 0,2523 0,00 0,9881
Pimples 0,9394 0,2492 14,21 0,0002

3.3.2 Seleksi Variabel Menggunakan Stepwise AIC

Untuk memperoleh model yang lebih sederhana namun tetap memiliki kemampuan prediksi yang baik, dilakukan seleksi variabel menggunakan metode Stepwise berdasarkan Akaike Information Criterion (AIC). Metode ini bertujuan memilih kombinasi variabel yang menghasilkan nilai AIC minimum.

Hasil seleksi menunjukkan bahwa variabel hair loss dieliminasi dari model karena tidak memberikan kontribusi yang berarti terhadap penjelasan diagnosis PCOS. Setelah penghapusan variabel tersebut, diperoleh model dengan nilai AIC yang lebih kecil dibandingkan model awal.

Tabel 5. Perbandingan model sebelum dan sesudah seleksi Stepwise AIC.

Model Variabel dalam Model AIC
Model awal BMI, Cycle, Weight Gain, Hair Growth,
Hair Loss, Pimples
440,97
Model Stepwise BMI, Cycle, Weight Gain, Hair Growth,
Pimples
438,97

Penurunan nilai AIC dari 440,97 menjadi 438,97 menunjukkan bahwa model hasil stepwise lebih efisien dan dipilih sebagai model akhir penelitian.

3.3.3 Model Akhir dan Estimasi Parameter

Berdasarkan hasil seleksi stepwise, model regresi logistik akhir yang diperoleh adalah:

\[ logit(\pi) = - 2,8080 - 0,5045X_1 + 1,4368X_2 + 1,8143X_3 + 1,6245X_4 + 0,9390X_5 \]

dengan:

\[ X_1 = \text{BMI overweight/obesitas} \]

\[ X_2 = \text{Siklus menstruasi tidak reguler} \]

\[ X_3 = \text{Weight gain} \]

\[ X_4 = \text{Hair growth} \]

\[ X_5 = \text{Pimples} \]

Hasil estimasi parameter model disajikan pada Tabel 6.

Tabel 6. Estimasi parameter regresi logistik biner.

Variabel Koefisien Std. Error Wald χ2 p-value
Intercept -2,8080 0,2526 123,59 <0,0001
BMI
overweight/obesitas
-0,5045 0,3021 2,79 0,0949
Siklus tidak reguler 1,4368 0,2598 30,58 <0,0001
Weight gain 1,8143 0,3017 36,16 <0,0001
Hair growth 1,6245 0,2579 39,66 <0,0001
Pimples 0,9390 0,2482 14,32 0,0002

Berdasarkan Tabel 6, variabel siklus menstruasi tidak reguler, weight gain, hair growth, dan pimples berpengaruh signifikan terhadap diagnosis PCOS pada taraf signifikansi 5%. Sementara itu, BMI tetap dipertahankan dalam model hasil stepwise karena keberadaannya menghasilkan nilai AIC yang lebih baik, meskipun tidak signifikan secara statistik.

3.3.4 Odds Ratio

Nilai Odds Ratio (OR) digunakan untuk mengukur besarnya pengaruh masing-masing faktor terhadap kemungkinan terjadinya PCOS.

Tabel 7. Odds Ratio dan interval kepercayaan 95% .

Variabel OR Lower 95% CI Upper 95% CI
BMI
overweight/obesitas
0,604 0,329 1,078
Siklus tidak reguler 4,207 2,537 7,041
Weight gain 6,136 3,435 11,250
Hair growth 5,076 3,075 8,469
Pimples 2,558 1,577 4,182

Hasil menunjukkan bahwa responden yang mengalami weight gain memiliki peluang 6,136 kali lebih besar untuk didiagnosa PCOS dibandingkan responden yang tidak mengalami weight gain. Responden dengan hair growth memiliki peluang 5,076 kali lebih besar mengalami PCOS, sedangkan responden dengan siklus menstruasi tidak reguler memiliki peluang 4,207 kali lebih besar dibandingkan responden dengan siklus reguler. Selain itu, keberadaan jerawat meningkatkan peluang diagnosis PCOS sebesar 2,558 kali.

3.3.5 Pengujian Model

Kelayakan model regresi logistik dievaluasi menggunakan uji simultan, uji parsial, Pseudo R-Square, dan Hosmer-Lemeshow test.

Tabel 8. Ringkasan pengujian model regresi logistik.

Pengujian Nilai p-value
Likelihood Ratio Test 223,44 <0,0001
McFadden R2 0,344
Cox & Snell R2 0,352
Nagelkerker R2 0,491
Hosmer-Lemeshow χ2 8,964 0,2552

Likelihood Ratio Test menghasilkan nilai statistik sebesar 223,44 dengan p-value < 0,0001, yang menunjukkan bahwa model signifikan secara keseluruhan. Nilai Nagelkerke R² sebesar 0,491 mengindikasikan bahwa model mampu menjelaskan 49,1% variasi diagnosis PCOS. Selain itu, hasil Hosmer–Lemeshow test (χ² = 8,964; p-value = 0,2552) menunjukkan bahwa model memiliki kesesuaian yang baik dengan data.

3.4 Evaluasi Model

Kinerja klasifikasi model dievaluasi menggunakan confusion matrix dan kurva ROC.

Tabel 9. Confusion matrix model regresi logistik.

Prediksi Non-PCOS PCOS
Non-PCOS 319 60
PCOS 28 108

Berdasarkan confusion matrix, diperoleh ukuran performa model sebagaimana disajikan pada Tabel 8.

Tabel 8. Kinerja klasifikasi model.

Ukuran Evaluasi Nilai
Accuracy 82,91%
Sensitivity 64,29%
Specificity 91,93%
AUC 0,865
Gambar 1. ROC Curve of Binary Logistic Regression Model for PCOS Diagnosis.

Figure 3.1: Gambar 1. ROC Curve of Binary Logistic Regression Model for PCOS Diagnosis.

Nilai AUC sebesar 0,865 menunjukkan bahwa model memiliki kemampuan diskriminasi yang sangat baik dalam membedakan pasien PCOS dan non-PCOS. Selain itu, tingkat akurasi sebesar 82,91% mengindikasikan bahwa model mampu mengklasifikasikan status diagnosis PCOS dengan baik. Nilai spesifisitas yang tinggi menunjukkan kemampuan model yang sangat baik dalam mengidentifikasi pasien non-PCOS, sedangkan sensitivitas sebesar 64,29% menunjukkan kemampuan yang cukup baik dalam mendeteksi pasien PCOS.

4 Discussion

Penelitian ini bertujuan mengidentifikasi faktor-faktor yang mempengaruhi diagnosis Polycystic Ovary Syndrome (PCOS) menggunakan pendekatan uji Chi-Square dan regresi logistik biner. Hasil analisis menunjukkan bahwa seluruh variabel yang diteliti memiliki hubungan signifikan dengan diagnosis PCOS berdasarkan uji Chi-Square. Temuan ini menunjukkan bahwa BMI, siklus menstruasi, kenaikan berat badan, pertumbuhan rambut berlebih, kerontokan rambut, dan jerawat merupakan indikator yang berkaitan dengan status PCOS.

Namun, ketika seluruh variabel dianalisis secara simultan menggunakan regresi logistik biner, hanya siklus menstruasi tidak reguler, weight gain, hair growth, dan pimples yang terbukti berpengaruh signifikan terhadap diagnosis PCOS. Hasil ini menunjukkan bahwa tidak semua variabel yang memiliki hubungan secara bivariat tetap memberikan pengaruh yang signifikan setelah dikontrol bersama variabel lain dalam model.

Variabel weight gain merupakan faktor yang memberikan pengaruh terbesar terhadap diagnosis PCOS dengan nilai OR sebesar 6,136. Temuan ini menunjukkan bahwa wanita yang mengalami kenaikan berat badan memiliki kemungkinan lebih tinggi untuk didiagnosa PCOS dibandingkan wanita yang tidak mengalami kenaikan berat badan. Hasil ini sejalan dengan karakteristik PCOS yang sering dikaitkan dengan gangguan metabolisme, resistensi insulin, dan peningkatan akumulasi lemak tubuh.

Selain itu, hair growth juga menunjukkan pengaruh yang kuat dengan OR sebesar 5,076. Pertumbuhan rambut berlebih atau hirsutisme merupakan salah satu manifestasi klinis utama hiperandrogenisme pada penderita PCOS. Oleh karena itu, hasil penelitian ini mendukung teori bahwa peningkatan kadar androgen berperan penting dalam perkembangan gejala PCOS.

Siklus menstruasi tidak reguler merupakan faktor signifikan lainnya dengan OR sebesar 4,207. Temuan ini konsisten dengan kriteria diagnosis PCOS yang menempatkan gangguan ovulasi dan ketidakteraturan siklus menstruasi sebagai salah satu indikator utama. Wanita dengan siklus menstruasi tidak reguler cenderung memiliki gangguan fungsi ovarium yang meningkatkan risiko diagnosis PCOS.

Keberadaan jerawat juga berpengaruh signifikan terhadap diagnosis PCOS dengan OR sebesar 2,558. Jerawat merupakan salah satu gejala klinis yang berkaitan dengan peningkatan aktivitas androgen. Hasil ini menunjukkan bahwa gejala dermatologis dapat digunakan sebagai indikator awal dalam proses skrining PCOS.

Di sisi lain, BMI tidak menunjukkan pengaruh yang signifikan pada model akhir meskipun memiliki hubungan signifikan pada uji Chi-Square. Hasil ini mengindikasikan bahwa pengaruh BMI terhadap diagnosis PCOS kemungkinan telah dijelaskan oleh variabel lain yang lebih langsung mencerminkan manifestasi klinis dan metabolik PCOS, seperti weight gain dan gangguan menstruasi. Temuan ini menunjukkan pentingnya melakukan analisis multivariat untuk memperoleh faktor-faktor yang benar-benar berpengaruh setelah mempertimbangkan keterkaitan antar variabel.

5 Conclusions

Penelitian ini bertujuan untuk mengidentifikasi faktor-faktor yang berhubungan dengan diagnosis Polycystic Ovary Syndrome (PCOS) menggunakan uji Chi-Square dan regresi logistik biner. Hasil analisis menunjukkan bahwa seluruh variabel yang diteliti memiliki hubungan yang signifikan dengan diagnosis PCOS berdasarkan uji Chi-Square. Namun, pada model regresi logistik biner, variabel siklus menstruasi tidak reguler, weight gain, hair growth, dan pimples terbukti berpengaruh signifikan terhadap diagnosis PCOS. Di antara variabel tersebut, weight gain merupakan faktor yang memberikan pengaruh terbesar terhadap kemungkinan diagnosis PCOS, diikuti oleh hair growth, siklus menstruasi tidak reguler, dan pimples.

Secara keseluruhan, model regresi logistik yang dihasilkan memiliki performa yang baik dengan nilai Nagelkerke R² sebesar 0,491, akurasi klasifikasi sebesar 82,91%, serta AUC sebesar 0,865. Hasil tersebut menunjukkan bahwa model mampu menjelaskan sebagian besar variasi diagnosis PCOS dan memiliki kemampuan diskriminasi yang sangat baik dalam membedakan pasien PCOS dan non-PCOS. Temuan penelitian ini dapat menjadi dasar dalam pengembangan strategi deteksi dini PCOS melalui identifikasi gejala klinis yang paling berpengaruh pada wanita usia reproduksi.

Abbreviations

Berikut merupakan singkatan yang digunakan dalam penelitian ini:

Singkatan Keterangan
PCOS Polycystic Ovary Syndrome
BMI Body Mass Index
WHO World Health Organization
OR Odds Ratio
MLE Maximum Likelihood Estimation
AIC Akaike Information Criterion
ROC Receiver Operating Characteristic
AUC Area Under Curve
Y/N Ya/Tidak

Appendix A

Appendix A. Coding of Variables

Table A1. Pengkodean variabel penelitian.

Variabel Kategori Frekuensi
Diagnosis PCOS Tidak 0
Ya 1
BMI Normal 0
Overweight/obesitas 1
Siklus menstruasi Reguler 0
Tidak reguler 1
Weight gain Tidak 0
Ya 1
Hair growth Tidak 0
Ya 1
Hair loss Tidak 0
Ya 1
Pimples Tidak 0
Ya 1

Appendix B

Appendix B. R Script

> packages <- c(
+ "readxl",
+ "dplyr",
+ "tidyr",
+ "DescTools",
+ "pscl",
+ "ResourceSelection",
+ "pROC",
+ "caret",
+ "lmtest",
+ "MASS"
+ )
> for(p in packages){
+ if(!require(p, character.only = TRUE)){
+ install.packages(p)
+ library(p, character.only = TRUE)
+ }
+ }
Loading required package: readxl
Loading required package: dplyr
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
 filter, lag
The following objects are masked from ‘package:base’:
 intersect, setdiff, setequal, union
Loading required package: tidyr
Loading required package: DescTools
Loading required package: pscl
Classes and Methods for R originally developed in the
Political Science Computational Laboratory
Department of Political Science
Stanford University (2002-2015),
by and under the direction of Simon Jackman.
hurdle and zeroinfl functions by Achim Zeileis.
Loading required package: ResourceSelection
ResourceSelection 0.3-6 2023-06-27
Loading required package: pROC
Type 'citation("pROC")' for a citation.
Attaching package: ‘pROC’
The following objects are masked from ‘package:stats’:
 cov, smooth, var
Loading required package: caret
Loading required package: ggplot2
Posit Community (formerly RStudio Community) is a great place to get
help:
https://forum.posit.co/c/tidyverse
Loading required package: lattice
Attaching package: ‘caret’
The following objects are masked from ‘package:DescTools’:
 MAE, RMSE
Loading required package: lmtest
Loading required package: zoo
Attaching package: ‘zoo’
The following objects are masked from ‘package:base’:
 as.Date, as.Date.numeric
Loading required package: MASS
Attaching package: ‘MASS’
The following object is masked from ‘package:dplyr’:
 select
Warning messages:
1: package ‘dplyr’ was built under R version 4.4.3
2: package ‘tidyr’ was built under R version 4.4.3
3: package ‘DescTools’ was built under R version 4.4.3
4: package ‘pscl’ was built under R version 4.4.3
5: package ‘ResourceSelection’ was built under R version 4.4.3
6: package ‘pROC’ was built under R version 4.4.3
7: package ‘caret’ was built under R version 4.4.3
8: package ‘ggplot2’ was built under R version 4.4.3
9: package ‘lmtest’ was built under R version 4.4.3
10: package ‘zoo’ was built under R version 4.4.3
> data <- read_excel("D:/Semester 4/ADK/Data Proyek PCOS
ADK_filter.xlsx",
+ sheet = "Full_new")
> str(data)
tibble [515 × 10] (S3: tbl_df/tbl/data.frame)
$ Patient File No.: num [1:515] 1 2 3 4 5 6 7 8 9 10 ...
$ PCOS (Y/N) : num [1:515] 0 0 1 0 0 0 0 0 0 0 ...
$ Weight (Kg) : num [1:515] 44.6 65 68.8 65 52 74.1 64 58.5 40 52
...
$ Height(Cm) : num [1:515] 152 162 165 148 161 ...
$ BMI : num [1:515] 19.3 24.9 25.3 29.7 20.1 ...
$ Cycle(R/I) : num [1:515] 0 0 0 0 0 0 0 0 0 1 ...
$ Weight gain(Y/N): num [1:515] 0 0 0 0 0 1 0 1 0 0 ...
$ hair growth(Y/N): num [1:515] 0 0 0 0 0 0 0 0 0 0 ...
$ Hair loss(Y/N) : num [1:515] 0 0 1 0 1 1 0 0 0 0 ...
$ Pimples(Y/N) : num [1:515] 0 0 1 0 0 0 0 0 0 0 ...
> summary(data)
Patient File No. PCOS (Y/N) Weight (Kg) Height(Cm)
BMI 
Min. : 1.0 Min. :0.0000 Min. : 31.00 Min. :137.0 
Min. :12.42 
1st Qu.:129.5 1st Qu.:0.0000 1st Qu.: 52.00 1st Qu.:152.0 
1st Qu.:21.67 
Median :259.0 Median :0.0000 Median : 60.00 Median :156.0 
Median :24.35 
Mean :268.2 Mean :0.3262 Mean : 59.73 Mean :156.4 
Mean :24.38 
3rd Qu.:409.5 3rd Qu.:1.0000 3rd Qu.: 65.00 3rd Qu.:160.0 
3rd Qu.:26.69 
Max. :541.0 Max. :1.0000 Max. :108.00 Max. :180.0 
Max. :38.90 
 Cycle(R/I) Weight gain(Y/N) hair growth(Y/N) Hair loss(Y/N) 
Min. :0.0000 Min. :0.0000 Min. :0.0000 Min. :0.0000 
1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.0000 
Median :0.0000 Median :0.0000 Median :0.0000 Median :0.0000 
Mean :0.2796 Mean :0.3786 Mean :0.2777 Mean :0.4485 
3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:1.0000 
Max. :1.0000 Max. :1.0000 Max. :1.0000 Max. :1.0000 
 Pimples(Y/N) 
Min. :0.0000 
1st Qu.:0.0000 
Median :0.0000 
Mean :0.4718 
3rd Qu.:1.0000 
Max. :1.0000 
> dim(data)
[1] 515 10
> colSums(is.na(data))
Patient File No. PCOS (Y/N) Weight (Kg) Height(Cm)
 0 0 0 0
 BMI Cycle(R/I) Weight gain(Y/N) hair growth(Y/N)
 0 0 0 0
 Hair loss(Y/N) Pimples(Y/N)
 0 0
> # Jika ada missing value:
> data <- na.omit(data)
> # Variabel respon
> data$`PCOS (Y/N)` <- factor(
+ data$`PCOS (Y/N)`,
+ levels = c(0,1),
+ labels = c("No","Yes")
+ )
> # BMI dikategorikan sesuai paper
> data$BMI_cat <- ifelse(data$BMI < 25,
+ "Normal",
+ "Overweight_Obese")
> data$BMI_cat <- factor(data$BMI_cat)
> # Cycle
> data$`Cycle(R/I)` <- factor(
+ data$`Cycle(R/I)`,
+ levels = c(0,1),
+ labels = c("Regular","Irregular")
+ )
> # Weight gain
> data$`Weight gain(Y/N)` <- factor(
+ data$`Weight gain(Y/N)`,
+ levels = c(0,1),
+ labels = c("No","Yes")
+ )
> # Hair growth
> data$`hair growth(Y/N)` <- factor(
+ data$`hair growth(Y/N)`,
+ levels = c(0,1),
+ labels = c("No","Yes")
+ )
> # Hair loss
> data$`Hair loss(Y/N)` <- factor(
+ data$`Hair loss(Y/N)`,
+ levels = c(0,1),
+ labels = c("No","Yes")
+ )
> # Pimples
> data$`Pimples(Y/N)` <- factor(
+ data$`Pimples(Y/N)`,
+ levels = c(0,1),
+ labels = c("No","Yes")
+ )
> cat("STATISTIK DESKRIPTIF NUMERIK\n")
STATISTIK DESKRIPTIF NUMERIK
> summary(
+ data[,c("Weight (Kg)",
+ "Height(Cm)",
+ "BMI")]
+ )
 Weight (Kg) Height(Cm) BMI 
Min. : 31.00 Min. :137.0 Min. :12.42 
1st Qu.: 52.00 1st Qu.:152.0 1st Qu.:21.67 
Median : 60.00 Median :156.0 Median :24.35 
Mean : 59.73 Mean :156.4 Mean :24.38 
3rd Qu.: 65.00 3rd Qu.:160.0 3rd Qu.:26.69 
Max. :108.00 Max. :180.0 Max. :38.90 
> sd(data$BMI)
[1] 4.098791
> freq_percent <- function(x){
+ 
+ tab <- table(x)
+ 
+ persen <- prop.table(tab)*100
+ 
+ hasil <- data.frame(
+ Frekuensi = tab,
+ Persentase = round(persen,2)
+ )
+ 
+ return(hasil)
+ }
> freq_percent(data$`PCOS (Y/N)`)
 Frekuensi.x Frekuensi.Freq Persentase.x Persentase.Freq
1 No 347 No 67.38
2 Yes 168 Yes 32.62
> freq_percent(data$BMI_cat)
 Frekuensi.x Frekuensi.Freq Persentase.x Persentase.Freq
1 Normal 295 Normal 57.28
2 Overweight_Obese 220 Overweight_Obese 42.72
> freq_percent(data$`Cycle(R/I)`)
 Frekuensi.x Frekuensi.Freq Persentase.x Persentase.Freq
1 Regular 371 Regular 72.04
2 Irregular 144 Irregular 27.96
> freq_percent(data$`Weight gain(Y/N)`)
 Frekuensi.x Frekuensi.Freq Persentase.x Persentase.Freq
1 No 320 No 62.14
2 Yes 195 Yes 37.86
> freq_percent(data$`hair growth(Y/N)`)
 Frekuensi.x Frekuensi.Freq Persentase.x Persentase.Freq
1 No 372 No 72.23
2 Yes 143 Yes 27.77
> freq_percent(data$`Hair loss(Y/N)`)
 Frekuensi.x Frekuensi.Freq Persentase.x Persentase.Freq
1 No 284 No 55.15
2 Yes 231 Yes 44.85
> freq_percent(data$`Pimples(Y/N)`)
 Frekuensi.x Frekuensi.Freq Persentase.x Persentase.Freq
1 No 272 No 52.82
2 Yes 243 Yes 47.18
> chi_test <- function(var){
+ 
+ cat("UJI CHI-SQUARE\n")
+ 
+ tab <- table(data$`PCOS (Y/N)`, var)
+ 
+ print(tab)
+ 
+ hasil <- chisq.test(tab)
+ 
+ print(hasil)
+ 
+ }
> chi_test(data$BMI_cat)
UJI CHI-SQUARE
 var
 Normal Overweight_Obese
 No 219 128
 Yes 76 92
Pearson's Chi-squared test with Yates' continuity correction
data: tab
X-squared = 14.058, df = 1, p-value = 0.0001773
> chi_test(data$`Cycle(R/I)`)
UJI CHI-SQUARE
 var
 Regular Irregular
 No 294 53
 Yes 77 91
Pearson's Chi-squared test with Yates' continuity correction
data: tab
X-squared = 83.086, df = 1, p-value < 2.2e-16
> chi_test(data$`Weight gain(Y/N)`)
UJI CHI-SQUARE
 var
 No Yes
 No 270 77
 Yes 50 118
Pearson's Chi-squared test with Yates' continuity correction
data: tab
X-squared = 109.04, df = 1, p-value < 2.2e-16
> chi_test(data$`hair growth(Y/N)`)
UJI CHI-SQUARE
 var
 No Yes
 No 300 47
 Yes 72 96
Pearson's Chi-squared test with Yates' continuity correction
data: tab
X-squared = 105.11, df = 1, p-value < 2.2e-16
> chi_test(data$`Hair loss(Y/N)`)
UJI CHI-SQUARE
 var
 No Yes
 No 214 133
 Yes 70 98
Pearson's Chi-squared test with Yates' continuity correction
data: tab
X-squared = 17.514, df = 1, p-value = 2.852e-05
> chi_test(data$`Pimples(Y/N)`)
UJI CHI-SQUARE
 var
 No Yes
 No 219 128
 Yes 53 115
Pearson's Chi-squared test with Yates' continuity correction
data: tab
X-squared = 43.998, df = 1, p-value = 3.287e-11
> data$PCOS_num <- ifelse(
+ data$`PCOS (Y/N)`=="Yes",1,0
+ )
> model_full <- glm(
+ PCOS_num ~ BMI_cat +
+ `Cycle(R/I)` +
+ `Weight gain(Y/N)` +
+ `hair growth(Y/N)` +
+ `Hair loss(Y/N)` +
+ `Pimples(Y/N)`,
+ family = binomial(link="logit"),
+ data = data
+ )
> summary(model_full)
Call:
glm(formula = PCOS_num ~ BMI_cat + `Cycle(R/I)` + `Weight gain(Y/N)` +
 `hair growth(Y/N)` + `Hair loss(Y/N)` + `Pimples(Y/N)`, family =
binomial(link = "logit"),
 data = data)
Coefficients:
 Estimate Std. Error z value Pr(>|z|) 
(Intercept) -2.806970 0.262365 -10.699 < 2e-16 ***
BMI_catOverweight_Obese -0.504334 0.302410 -1.668 0.095372 . 
`Cycle(R/I)`Irregular 1.436777 0.259811 5.530 3.20e-08 ***
`Weight gain(Y/N)`Yes 1.814841 0.304242 5.965 2.44e-09 ***
`hair growth(Y/N)`Yes 1.624972 0.259890 6.253 4.04e-10 ***
`Hair loss(Y/N)`Yes -0.003779 0.252273 -0.015 0.988050 
`Pimples(Y/N)`Yes 0.939381 0.249189 3.770 0.000163 ***
---
Signif. codes: 0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
 Null deviance: 650.41 on 514 degrees of freedom
Residual deviance: 426.97 on 508 degrees of freedom
AIC: 440.97
Number of Fisher Scoring iterations: 5
> coef_table <- summary(model_full)$coefficients
> wald <- (coef_table[,1] /
+ coef_table[,2])^2
> hasil_regresi <- data.frame(
+ Estimate = coef_table[,1],
+ Std_Error = coef_table[,2],
+ Wald_ChiSquare = wald,
+ P_Value = coef_table[,4]
+ )
> hasil_regresi
 Estimate Std_Error Wald_ChiSquare 
P_Value
(Intercept) -2.806969772 0.2623650 1.144626e+02
1.031947e-26
BMI_catOverweight_Obese -0.504333551 0.3024099 2.781274e+00
9.537229e-02
`Cycle(R/I)`Irregular 1.436776772 0.2598115 3.058172e+01
3.200948e-08
`Weight gain(Y/N)`Yes 1.814841127 0.3042419 3.558272e+01
2.444466e-09
`hair growth(Y/N)`Yes 1.624971551 0.2598901 3.909417e+01
4.038476e-10
`Hair loss(Y/N)`Yes -0.003778561 0.2522732 2.243419e-04
9.880497e-01
`Pimples(Y/N)`Yes 0.939380659 0.2491888 1.421105e+01
1.634084e-04
> OR <- exp(coef(model_full))
> CI <- exp(confint(model_full))
Waiting for profiling to be done...
> OR_table <- data.frame(
+ OR = OR,
+ Lower95 = CI[,1],
+ Upper95 = CI[,2]
+ )
> OR_table
 OR Lower95 Upper95
(Intercept) 0.0603877 0.03525208 0.09881748
BMI_catOverweight_Obese 0.6039079 0.32827382 1.07825567
`Cycle(R/I)`Irregular 4.2071135 2.53729688 7.04080924
`Weight gain(Y/N)`Yes 6.1401006 3.41739901 11.30403476
`hair growth(Y/N)`Yes 5.0782746 3.06441225 8.50562829
`Hair loss(Y/N)`Yes 0.9962286 0.60429225 1.62811257
`Pimples(Y/N)`Yes 2.5583964 1.57479203 4.19192968
> model_null <- glm(
+ PCOS_num ~ 1,
+ family = binomial,
+ data = data
+ )
> anova(
+ model_null,
+ model_full,
+ test = "Chisq"
+ )
Analysis of Deviance Table
Model 1: PCOS_num ~ 1
Model 2: PCOS_num ~ BMI_cat + `Cycle(R/I)` + `Weight gain(Y/N)` +
`hair growth(Y/N)` +
 `Hair loss(Y/N)` + `Pimples(Y/N)`
 Resid. Df Resid. Dev Df Deviance Pr(>Chi) 
1 514 650.41 
2 508 426.97 6 223.44 < 2.2e-16 ***
---
Signif. codes: 0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1
> pR2(model_full)
fitting null model for pseudo-r2
 llh llhNull G2 McFadden r2ML
r2CU
-213.4860871 -325.2043067 223.4364392 0.3435324 0.3519952
0.4908075
> hoslem.test(
+ data$PCOS_num,
+ fitted(model_full),
+ g = 10
+ )
Hosmer and Lemeshow goodness of fit (GOF) test
data: data$PCOS_num, fitted(model_full)
X-squared = 11.37, df = 8, p-value = 0.1816
> model_step <- stepAIC(
+ model_full,
+ direction = "both",
+ trace = FALSE
+ )
> summary(model_step)
Call:
glm(formula = PCOS_num ~ BMI_cat + `Cycle(R/I)` + `Weight gain(Y/N)` +
 `hair growth(Y/N)` + `Pimples(Y/N)`, family = binomial(link =
"logit"),
 data = data)
Coefficients:
 Estimate Std. Error z value Pr(>|z|) 
(Intercept) -2.8080 0.2526 -11.117 < 2e-16 ***
BMI_catOverweight_Obese -0.5045 0.3021 -1.670 0.094908 . 
`Cycle(R/I)`Irregular 1.4368 0.2598 5.530 3.20e-08 ***
`Weight gain(Y/N)`Yes 1.8143 0.3017 6.013 1.82e-09 ***
`hair growth(Y/N)`Yes 1.6245 0.2579 6.298 3.01e-10 ***
`Pimples(Y/N)`Yes 0.9390 0.2482 3.784 0.000154 ***
---
Signif. codes: 0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
 Null deviance: 650.41 on 514 degrees of freedom
Residual deviance: 426.97 on 509 degrees of freedom
AIC: 438.97
Number of Fisher Scoring iterations: 5
> final_model <- model_step
> summary(final_model)
Call:
glm(formula = PCOS_num ~ BMI_cat + `Cycle(R/I)` + `Weight gain(Y/N)` +
 `hair growth(Y/N)` + `Pimples(Y/N)`, family = binomial(link =
"logit"),
 data = data)
Coefficients:
 Estimate Std. Error z value Pr(>|z|) 
(Intercept) -2.8080 0.2526 -11.117 < 2e-16 ***
BMI_catOverweight_Obese -0.5045 0.3021 -1.670 0.094908 . 
`Cycle(R/I)`Irregular 1.4368 0.2598 5.530 3.20e-08 ***
`Weight gain(Y/N)`Yes 1.8143 0.3017 6.013 1.82e-09 ***
`hair growth(Y/N)`Yes 1.6245 0.2579 6.298 3.01e-10 ***
`Pimples(Y/N)`Yes 0.9390 0.2482 3.784 0.000154 ***
---
Signif. codes: 0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
 Null deviance: 650.41 on 514 degrees of freedom
Residual deviance: 426.97 on 509 degrees of freedom
AIC: 438.97
Number of Fisher Scoring iterations: 5
> OR_final <- exp(coef(final_model))
> CI_final <- exp(confint(final_model))
Waiting for profiling to be done...
> data.frame(
+ OR = OR_final,
+ Lower95 = CI_final[,1],
+ Upper95 = CI_final[,2]
+ )
 OR Lower95 Upper95
(Intercept) 0.06032343 0.03592482 0.09690432
BMI_catOverweight_Obese 0.60378023 0.32852928 1.07771044
`Cycle(R/I)`Irregular 4.20720166 2.53729828 7.04090033
`Weight gain(Y/N)`Yes 6.13649974 3.43476081 11.24986638
`hair growth(Y/N)`Yes 5.07585341 3.07490470 8.46917601
`Pimples(Y/N)`Yes 2.55753000 1.57740437 4.18228584
> prob <- predict(
+ final_model,
+ type = "response"
+ )
> prediksi <- ifelse(
+ prob > 0.5,
+ 1,
+ 0
+ )
> prediksi <- factor(prediksi)
> aktual <- factor(data$PCOS_num)
> cm <- confusionMatrix(
+ prediksi,
+ aktual,
+ positive = "1"
+ )
> cm
Confusion Matrix and Statistics
 Reference
Prediction 0 1
 0 319 60
 1 28 108
 
 Accuracy : 0.8291 
 95% CI : (0.7938, 0.8606)
 No Information Rate : 0.6738 
 P-Value [Acc > NIR] : 1.402e-15 
 
 Kappa : 0.5912 
 
Mcnemar's Test P-Value : 0.0009511 
 
 Sensitivity : 0.6429 
 Specificity : 0.9193 
 Pos Pred Value : 0.7941 
 Neg Pred Value : 0.8417 
 Prevalence : 0.3262 
 Detection Rate : 0.2097 
 Detection Prevalence : 0.2641 
 Balanced Accuracy : 0.7811 
 
 'Positive' Class : 1 
 
> cm$overall["Accuracy"]
Accuracy
0.8291262
> cm$byClass["Sensitivity"]
Sensitivity
 0.6428571
> cm$byClass["Specificity"]
Specificity
 0.9193084
> roc_obj <- roc(
+ data$PCOS_num,
+ prob
+ )
Setting levels: control = 0, case = 1
Setting direction: controls < cases
> plot(
+ roc_obj,
+ main = "ROC Curve"
+ )
> auc(roc_obj)
Area under the curve: 0.8654
> coef(final_model)
 (Intercept) BMI_catOverweight_Obese 
`Cycle(R/I)`Irregular
 -2.808035 -0.504545 
1.436798
 `Weight gain(Y/N)`Yes `hair growth(Y/N)`Yes 
`Pimples(Y/N)`Yes
 1.814255 1.624495 
0.939042

References

  1. Kottarathil, P. Polycystic Ovary Syndrome (PCOS) Dataset. Kaggle. Available online: https://www.kaggle.com/datasets/prasoonkottarathil/polycystic-ovary-syndrome-pcos (accessed on 8 June 2026).
  2. Teede, H.J.; Misso, M.L.; Costello, M.F.; Dokras, A.; Laven, J.; Moran, L.; Piltonen, T.; Norman, R.J. Recommendations from the International Evidence-Based Guideline for the Assessment and Management of Polycystic Ovary Syndrome. Hum. Reprod. 2018, 33, 1602–1618. https://doi.org/10.1093/humrep/dey256.
  3. Goodman, N.F.; Cobin, R.H.; Futterweit, W.; Glueck, J.S.; Legro, R.S.; Carmina, E. American Association of Clinical Endocrinologists Medical Guidelines for Clinical Practice for the Diagnosis and Treatment of Polycystic Ovary Syndrome. Endocr. Pract. 2015, 21, 1291–1300. https://doi.org/10.4158/EP15748.GL.
  4. Lim, S.S.; Davies, M.J.; Norman, R.J.; Moran, L.J. Overweight, Obesity and Central Obesity in Women with Polycystic Ovary Syndrome: A Systematic Review and Meta-Analysis. Hum. Reprod. Update 2012, 18, 618–637. https://doi.org/10.1093/humupd/dms030.
  5. Dokras, A. Mood and Anxiety Disorders in Women with PCOS. Steroids 2012, 77, 338–341. https://doi.org/10.1016/j.steroids.2011.12.008.
  6. Azziz, R.; Carmina, E.; Dewailly, D.; Diamanti-Kandarakis, E.; Escobar-Morreale, H.F.; Futterweit, W.; Janssen, O.E.; Legro, R.S.; Norman, R.J.; Taylor, A.E.; et al. The Androgen Excess and PCOS Society Criteria for the Polycystic Ovary Syndrome. Fertil. Steril. 2009, 91, 456–488. https://doi.org/10.1016/j.fertnstert.2008.06.035.
  7. Rosenfield, R.L.; Ehrmann, D.A. The Pathogenesis of Polycystic Ovary Syndrome: The Hypothesis of PCOS as Functional Ovarian Hyperandrogenism Revisited. Endocr. Rev. 2016, 37, 467–520. https://doi.org/10.1210/er.2015-1104.
  8. Escobar-Morreale, H.F. Polycystic Ovary Syndrome: Definition, Aetiology, Diagnosis and Treatment. Nat. Rev. Endocrinol. 2018, 14, 270–284. https://doi.org/10.1038/nrendo.2018.24.
  9. Hosmer, D.W.; Lemeshow, S.; Sturdivant, R.X. Applied Logistic Regression, 3rd ed.; John Wiley & Sons: Hoboken, NJ, USA, 2013.
  10. Agresti, A. An Introduction to Categorical Data Analysis, 3rd ed.; John Wiley & Sons: Hoboken, NJ, USA, 2018.
  11. Harrell, F.E. Regression Modeling Strategies: With Applications to Linear Models, Logistic Regression, and Survival Analysis, 2nd ed.; Springer: New York, NY, USA, 2015.
  12. World Health Organization. Obesity and Overweight. Available online: https://www.who.int/news-room/fact-sheets/detail/obesity-and-overweight (accessed on 8 June 2026).