Who am I (Dementia) Symptoms: PCA Analysis
Dementia
Dementia is an overall term describing a group of memory-deteriorating symptoms that associate one person’s ability of his or her everyday activities. Alzheimer’s disease is only accounts for 60% to 80 % of Dementia cases. Common dementia types:
Alzheimer
Alzheimer’s disease is a type of dementia causing problems with memory-deteriorating, thinking-deteriorating and behavior-deteriorating symptoms over time. Aging is necessary condition for Dementia but not sufficient condition for Alzheimer’s disease. Alzheimer’s disease does not necessarily occur for the old age. For example, approximately 200,000 Americans under the age of 65 have early-onset Alzheimer’s disease. The sixth leading cause of death in the United States is Alzheimer’s disease. In general, Alzheimer’s patient can survive from 4 to 20 years. All depend on age and other health conditions. The life-span of Alzheimer’s patient is 8 years on average. Currently, there is no cure for Alzheimer’s disease but some treatments for Alzheimer’s symptoms are available for stopping Alzheimer’s from progressing, temporarily decelerating the worsening of dementia symptoms and improving quality of life for Alzheimer’s patients and their caregivers. Early diagnostics and classification prediction are the current-best-solution approaches for Dementia.
Longitudinal MRI Dataset Description
- Longitudinal MRI data: 150 subjects aged 60 to 96. All subjects are right-handed and scanned at least once.
- ‘Nondemented’ Group: 72 subjects
- ‘Demented’ Group: 64 subjects
- Initial visit as ‘Nondemented’ but characterized as ‘Demented’ at later visit: 14 subjects
| Variables | Descriptions |
|---|---|
| EDUC | Years of Education |
| SES | Socioeconomic Status |
| MMSE | Mini Mental State Examination |
| CDR | Clinical Dementia Rating |
| eTIV | Estimated Total Intracranial Volume |
| nWBV | Normalize Whole Brain Volume |
| ASF | Atlas Scaling Factor |
Mini–Mental State Examination (MMSE)
- The Mini–Mental State Examination (MMSE) is a 30-point questionnaire to measure cognitive impairment for screening-out dementia. The score estimation is
- to reflect the severity and progression of cognitive impairment,
- to follow-up the course of cognitive changes for each individual over time, and
- to provide a diagnosis for any particular type of Dementia disease.
- The Mini–Mental State Examination (MMSE) is mainly to measure the degree of severity of Cognitive impairment for patients, ranging from mild to severe. such as
- the trouble degree of remembering,
- the trouble degree of learning new things,
- the trouble degree of concentration, and
- the trouble degree of decision-making in their everyday life.
- The score estimation interpretation is list out in below Table
| Methods | Score | Interpretation |
|---|---|---|
| SingleCutoff | < 24 | Abnormal |
| RangeLessThan | < 21 | Increased Odds of Dementia |
| RangeLessThan | < 25 | Decreased Odds of Dementia |
| Education | = 21 | Abnormal for 8th Grade Education |
| Education | < 23 | Abnormal for High School Education |
| Education | < 24 | Abnormal for College Education |
| Severity | 24 - 30 | No Cognitive Impairment |
| Severity | 18 - 23 | Mild Cognitive Impairment |
| Severity | 0 - 17 | Severe Cognitive Impairmen |
Clinical Dementia Rating (CDR)
- The CDR is a 5-point scale characterized six domains of cognitive and functional performance for Alzheimer disease and related dementia symptom. The six domains entail
- Memory,
- Orientation,
- Judgment & Problem Solving,
- Community Affairs,
- Home & Hobbies, and
- Personal Care.
| Scores | Descriptions |
|---|---|
| 0 | Normal |
| 0.5 | Very Mild Dementia |
| 1 | Mild Dementia |
| 2 | Moderate Dementia |
| 3 | Severe Dementia |
- The below clinical dementia rating scale table is sourced from Morris (1993). This table provides descriptive entities to guide the clinician in making appropriate ratings based on interview data and clinical judgment.
- The overall CDR score is calculated through an implicit algorithm. The final score is useful to characterize and track a patient’s level of impairment and dementia.
Estimated Total Intracranial Volume(eTIV)
Total intracranial volume (TIV/ICV) is a significant covariate indicator of various types of brain diseases by studying the volumetric analyses of brain regions. Good references lists belows:
- Voevodskaya et al. (2014)
- Malone et al. (2015)
- Sargolzaei et al. (2015)
- Klasson et al. (2018)
Atlas Scaling Factor (ASF)
Atlas Scaling Factor (ASF) is an atlas-based head size normalization technique to measure the standardized total intracranial volume for comparison, classification and predication. Good references lists below:
- Fulton et al. (2019)
- Mehmood et al. (2021)
Plot Gallery(longitudinal)
oasis_longitudinal.csv
Summary
df_longit = na.omit(as.data.frame(data_longit))
df_longit$Group <- as.factor(df_longit$Group)
df_longit$Visit <- as.factor(df_longit$Visit)
df_longit$SES <- as.factor(df_longit$SES)
df_longit$MF <- as.factor(df_longit$MF)
df_longit$Hand <- as.factor(df_longit$Hand)
str(df_longit)'data.frame': 354 obs. of 15 variables:
$ Subject ID: chr "OAS2_0001" "OAS2_0001" "OAS2_0004" "OAS2_0004" ...
$ MRI ID : chr "OAS2_0001_MR1" "OAS2_0001_MR2" "OAS2_0004_MR1" "OAS2_0004_MR2" ...
$ Group : Factor w/ 3 levels "Converted","Demented",..: 3 3 3 3 3 3 3 3 3 2 ...
$ Visit : Factor w/ 5 levels "1","2","3","4",..: 1 2 1 2 1 2 3 1 2 1 ...
$ MR Delay : num 0 457 0 538 0 ...
$ MF : Factor w/ 2 levels "F","M": 2 2 1 1 2 2 2 1 1 2 ...
$ Hand : Factor w/ 1 level "R": 1 1 1 1 1 1 1 1 1 1 ...
$ Age : num 87 88 88 90 80 83 85 93 95 68 ...
$ EDUC : num 14 14 18 18 12 12 12 14 14 12 ...
$ SES : Factor w/ 5 levels "1","2","3","4",..: 2 2 3 3 4 4 4 2 2 2 ...
$ MMSE : num 27 30 28 27 28 29 30 30 29 27 ...
$ CDR : num 0 0 0 0 0 0.5 0 0 0 0.5 ...
$ eTIV : num 1987 2004 1215 1200 1689 ...
$ nWBV : num 0.696 0.681 0.71 0.718 0.712 0.711 0.705 0.698 0.703 0.806 ...
$ ASF : num 0.883 0.876 1.444 1.462 1.039 ...
- attr(*, "spec")=
.. cols(
.. `Subject ID` = col_character(),
.. `MRI ID` = col_character(),
.. Group = col_character(),
.. Visit = col_double(),
.. `MR Delay` = col_double(),
.. MF = col_character(),
.. Hand = col_character(),
.. Age = col_double(),
.. EDUC = col_double(),
.. SES = col_double(),
.. MMSE = col_double(),
.. CDR = col_double(),
.. eTIV = col_double(),
.. nWBV = col_double(),
.. ASF = col_double()
.. )
- attr(*, "na.action")= 'omit' Named int [1:19] 3 4 5 11 12 13 135 136 208 209 ...
..- attr(*, "names")= chr [1:19] "3" "4" "5" "11" ...
summary(df_longit) Subject ID MRI ID Group Visit
Length:354 Length:354 Converted : 37 1:142
Class :character Class :character Demented :127 2:137
Mode :character Mode :character Nondemented:190 3: 55
4: 14
5: 6
MR Delay MF Hand Age EDUC SES
Min. : 0.0 F:204 R:354 Min. :60.00 Min. : 6.00 1: 88
1st Qu.: 0.0 M:150 1st Qu.:71.00 1st Qu.:12.00 2:103
Median : 559.5 Median :77.00 Median :15.00 3: 82
Mean : 601.4 Mean :77.03 Mean :14.70 4: 74
3rd Qu.: 882.5 3rd Qu.:82.00 3rd Qu.:16.75 5: 7
Max. :2639.0 Max. :98.00 Max. :23.00
MMSE CDR eTIV nWBV
Min. : 4.00 Min. :0.0000 Min. :1106 Min. :0.6440
1st Qu.:27.00 1st Qu.:0.0000 1st Qu.:1358 1st Qu.:0.6990
Median :29.00 Median :0.0000 Median :1470 Median :0.7290
Mean :27.41 Mean :0.2712 Mean :1490 Mean :0.7299
3rd Qu.:30.00 3rd Qu.:0.5000 3rd Qu.:1595 3rd Qu.:0.7570
Max. :30.00 Max. :2.0000 Max. :2004 Max. :0.8370
ASF
Min. :0.876
1st Qu.:1.100
Median :1.194
Mean :1.194
3rd Qu.:1.292
Max. :1.587
df_modified = df_longit[, c(-1, -2)]Group
Group_Age
longit_Group_Age <- ggplot(df_longit, aes(x = Group, y = Age, fill = Group)) + geom_violin() +
geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_Group_AgeGroup_Edu
longit_Group_Edu <- ggplot(df_longit, aes(x = Group, y = EDUC, fill = Group)) + geom_violin() +
geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_Group_EduGroup_MMSE
longit_Group_MMSE <- ggplot(df_longit, aes(x = Group, y = MMSE, fill = Group)) +
geom_violin() + geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_Group_MMSEGroup_CDR
longit_Group_CDR <- ggplot(df_longit, aes(x = Group, y = CDR, fill = Group)) + geom_violin() +
geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_Group_CDRGroup_eTIV
longit_Group_eTIV <- ggplot(df_longit, aes(x = Group, y = eTIV, fill = Group)) +
geom_violin() + geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_Group_eTIVGroup_nWBV
longit_Group_nWBV <- ggplot(df_longit, aes(x = Group, y = nWBV, fill = Group)) +
geom_violin() + geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_Group_nWBVGroup_ASF
longit_Group_ASF <- ggplot(df_longit, aes(x = Group, y = ASF, fill = Group)) + geom_violin() +
geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_Group_ASFMF
MF_SES
longit_MF_SES <- ggplot(df_longit, aes(x = MF, y = SES, fill = MF)) + geom_violin() +
geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_MF_SESMF_MMSE
longit_MF_MMSE <- ggplot(df_longit, aes(x = MF, y = MMSE, fill = MF)) + geom_violin() +
geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_MF_MMSEMF_CDR
longit_MF_CDR <- ggplot(df_longit, aes(x = MF, y = CDR, fill = MF)) + geom_violin() +
geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_MF_CDRMF_eTIV
longit_MF_eTIV <- ggplot(df_longit, aes(x = MF, y = eTIV, fill = MF)) + geom_violin() +
geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_MF_eTIVMF_nWBV
longit_MF_nWBV <- ggplot(df_longit, aes(x = MF, y = nWBV, fill = MF)) + geom_violin() +
geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_MF_nWBVMF_ASF
longit_MF_ASF <- ggplot(df_longit, aes(x = MF, y = ASF, fill = MF)) + geom_violin() +
geom_boxplot(width = 0.1) + theme(legend.position = "none")
longit_MF_ASFScatterPlot
data = df_longit[, c("CDR", "eTIV", "nWBV", "ASF")]
corr <- abs(cor(data)) # Correlation in absolute value
corr CDR eTIV nWBV ASF
CDR 1.00000000 0.05236148 0.3500857 0.06341298
eTIV 0.05236148 1.00000000 0.2066682 0.98902995
nWBV 0.35008571 0.20666821 1.0000000 0.21114974
ASF 0.06341298 0.98902995 0.2111497 1.00000000
colors <- dmat.color(corr)
order <- order.single(corr)
cpairs(data, order, panel.colors = colors, gap = 0.5, main = "Sorted and colored variables by correlation")pairs(~Group + MF + SES + EDUC + Age + CDR + eTIV + nWBV + ASF, data = df_longit,
col = "blue")PCA
data4 = df_longit[, c("CDR", "eTIV", "nWBV", "ASF")]
cor.mat <- round(cor(data4), 4)corrplot(cor.mat, type = "upper", order = "hclust", tl.col = "black", tl.srt = 45)chart.Correlation(data4, histogram = TRUE, pch = 19)res.pca <- PCA(data4, graph = F)
eigenvalues <- res.pca$eig
eigenvalues eigenvalue percentage of variance cumulative percentage of variance
comp 1 2.09971778 52.4929445 52.49294
comp 2 1.25757433 31.4393582 83.93230
comp 3 0.63180008 15.7950021 99.72730
comp 4 0.01090781 0.2726952 100.00000
res.pca$var$coord Dim.1 Dim.2 Dim.3 Dim.4
CDR -0.2418549 0.8110732 0.53260285 8.067998e-04
eTIV -0.9595790 -0.2638679 0.06428662 7.381819e-02
nWBV 0.4419949 -0.6822595 0.58237653 -6.176814e-05
ASF 0.9618070 0.2542248 -0.06956363 7.387846e-02
res.pca$var$cos2 Dim.1 Dim.2 Dim.3 Dim.4
CDR 0.05849379 0.65783977 0.283665791 6.509259e-07
eTIV 0.92079183 0.06962627 0.004132770 5.449126e-03
nWBV 0.19535953 0.46547804 0.339162425 3.815303e-09
ASF 0.92507262 0.06463025 0.004839099 5.458027e-03
res.pca$var$contrib Dim.1 Dim.2 Dim.3 Dim.4
CDR 2.785793 52.310210 44.8980299 5.967523e-03
eTIV 43.853123 5.536553 0.6541262 4.995620e+01
nWBV 9.304085 37.013958 53.6819214 3.497772e-05
ASF 44.056998 5.139279 0.7659225 5.003780e+01
barplot(eigenvalues[, 2], names.arg = 1:nrow(eigenvalues), main = "Variances", xlab = "Principal Components",
ylab = "Percentage of variances", col = "green")
# Add connected line segments to the plot
lines(x = 1:nrow(eigenvalues), eigenvalues[, 2], type = "b", pch = 19, col = "red")fviz_pca_var(res.pca, col.var = "contrib") + scale_color_gradient2(low = "green",
mid = "blue", high = "red", midpoint = 25) + theme_bw()fviz_pca_biplot(res.pca, label = "var", habillage = df_longit$Group, addEllipses = TRUE,
ellipse.level = 0.95, ggtheme = theme_minimal())fviz_pca_biplot(res.pca, label = "var", habillage = df_longit$MF, addEllipses = TRUE,
ellipse.level = 0.95, ggtheme = theme_minimal())fviz_pca_biplot(res.pca, label = "var", habillage = df_longit$SES, addEllipses = TRUE,
ellipse.level = 0.95, ggtheme = theme_minimal(), title = "PCA Biplot: Groups of Socioeconomic Status (SES)")