Question 7.1
In healthcare analytics, forecasting patient admissions using
exponential smoothing is vital for resource planning and staff
scheduling.
Situation: Forecasting Patient Admissions
Data Needed:
Historical patient admissions data (daily, weekly, or monthly).
Seasonal patterns (e.g., flu season). External factors (e.g., public
health alerts). Steps:
Collect and preprocess historical data. Choose the type of
exponential smoothing model based on data characteristics. Apply the
model to generate forecasts.
Choosing α (alpha):
α closer to 0: Gives more weight to historical data. Suitable if
admissions are stable with gradual changes. α closer to 1: Gives more
weight to recent observations. Suitable if admissions show significant
variability or sudden changes. Expected Value of α:
If admissions data is stable, α would be closer to 0, leveraging
historical trends. If data is dynamic, such as during an outbreak, α
would be closer to 1 to quickly adapt to recent changes. The choice of α
should be based on the data’s characteristics and adjusted through
experimentation for accuracy.
Question 7.2
library(dplyr) library(tidyr) library(ggplot2)
temps <-read.table("/Users/micahunderwood/Downloads/week_3_Homework-summer/week 3 data-summer/temps.txt", header = TRUE, sep = "\t")
#convert data to long format
temps_long <- temps %>% pivot_longer(cols = -DAY, names_to = "Year", values_to = "Temperature")
#remove x prefix - this was killing me
temps_long <- temps_long %>% mutate(Year = as.numeric(gsub("X", "", Year)))
temps_long <- na.omit(temps_long)
#create date column
temps_long <- temps_long %>% mutate(Date = as.Date(paste(Year, DAY, sep = "-"), format = "%Y-%d-%b"))
#aggregate data to weekly
temps_long <- temps_long %>% mutate(Week = format(Date, "%Y-%U")) %>% group_by(Week) %>% summarise(Average_Temperature = mean(Temperature))
#weekly time series
temps_ts <- ts(temps_long$Average_Temperature, start = c(1996, 1), frequency = 52)
#HoltWinters
hw_model <- HoltWinters(temps_ts, seasonal = "multiplicative")
#plot data
plot(hw_model, main = "Exponential Smoothing of Weekly Average High Temperatures (July-October)")
#trend component
trend_component <- hw_model$fitted[, "level"]
#ggplot df
trend_data <- data.frame( Time = time(trend_component), Trend = trend_component )
#plot the shift
ggplot(trend_data, aes(x = Time, y = Trend)) + geom_line() + ggtitle("Trend Component of Weekly Average High Temperatures (July-October)") + xlab("Time") + ylab("Temperature")
#summarize the shift
summary(trend_data$Trend)
Min. 1st Qu. Median Mean 3rd Qu. Max.
59.13 78.21 83.51 84.20 89.56 115.82

#add smoothing line

According to my work, weekly average temperatures would indicate that
there most likely is not a significant shift in the end of summer. An
uptick in the line would indicate there is.
Question 8.1
In healthcare analytics, a linear regression model is suitable for
predicting hospital readmission rates. Reducing readmission rates
improves patient outcomes and reduces costs. By identifying key factors,
healthcare providers can implement targeted interventions.
Situation: Predicting Hospital Readmission
Rates
Predictors:
Patient Age: Older patients often have higher
readmission rates.
Length of Stay (LOS): Longer hospital stays
might indicate more severe health issues.
Number of Previous Admissions: Frequent hospital
visits suggest a higher risk of readmission.
Discharge Diagnosis: Certain diagnoses, like
heart failure, are linked to higher readmissions.
Follow-up Care: Quality of follow-up care can
significantly impact readmission rates.
Application:
Objective: Identify significant predictors of
hospital readmissions and quantify their impact.
Data Collection: Historical data on patient
demographics, hospital stays, diagnoses, and follow-up care.
Model Training: Fit a linear regression model to
predict readmission rates.
Implementation: Identify at-risk patients and
develop interventions.
Using linear regression, healthcare providers can proactively reduce
readmission risks and improve patient care.
Question 8.2
library(MASS)
data <- read.table("http://www.statsci.org/data/general/uscrime.txt", header=TRUE)
#fit linear model
model <- lm(Crime ~ M + So + Ed + Po1 + Po2 + LF + M.F + Pop + NW + U1 + U2 + Wealth + Ineq + Prob + Time, data=data)
#model summary
summary(model)
new_data <- data.frame( M = 14.0, So = 0, Ed = 10.0, Po1 = 12.0, Po2 = 15.5, LF = 0.640, M.F = 94.0, Pop = 150, NW = 1.1, U1 = 0.120, U2 = 3.6, Wealth = 3200, Ineq = 20.1, Prob = 0.04, Time = 39.0 )
#predict crime rate
predicted_crime <- predict(model, newdata = new_data) predicted_crime
155.4349
Our model has predicted 155 crimes per 100,000 people.
The multiple R-squared value is 0.8031, and the adjusted R-squared
value is 0.7078, indicating that about 70.78% of the variability in
crime rates can be explained by the predictors we used above.
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCmVkaXRvcl9vcHRpb25zOiAKICBtYXJrZG93bjogCiAgICB3cmFwOiBzZW50ZW5jZQotLS0KCiMjICoqUXVlc3Rpb24gNy4xKioKCkluIGhlYWx0aGNhcmUgYW5hbHl0aWNzLCBmb3JlY2FzdGluZyBwYXRpZW50IGFkbWlzc2lvbnMgdXNpbmcgZXhwb25lbnRpYWwgc21vb3RoaW5nIGlzIHZpdGFsIGZvciByZXNvdXJjZSBwbGFubmluZyBhbmQgc3RhZmYgc2NoZWR1bGluZy4KCiMjIyAqKlNpdHVhdGlvbjogRm9yZWNhc3RpbmcgUGF0aWVudCBBZG1pc3Npb25zKioKCioqRGF0YSBOZWVkZWQ6KioKCkhpc3RvcmljYWwgcGF0aWVudCBhZG1pc3Npb25zIGRhdGEgKGRhaWx5LCB3ZWVrbHksIG9yIG1vbnRobHkpLgpTZWFzb25hbCBwYXR0ZXJucyAoZS5nLiwgZmx1IHNlYXNvbikuCkV4dGVybmFsIGZhY3RvcnMgKGUuZy4sIHB1YmxpYyBoZWFsdGggYWxlcnRzKS4KU3RlcHM6CgpDb2xsZWN0IGFuZCBwcmVwcm9jZXNzIGhpc3RvcmljYWwgZGF0YS4KQ2hvb3NlIHRoZSB0eXBlIG9mIGV4cG9uZW50aWFsIHNtb290aGluZyBtb2RlbCBiYXNlZCBvbiBkYXRhIGNoYXJhY3RlcmlzdGljcy4KQXBwbHkgdGhlIG1vZGVsIHRvIGdlbmVyYXRlIGZvcmVjYXN0cy4KCioqQ2hvb3NpbmcgzrEgKGFscGhhKToqKgoKzrEgY2xvc2VyIHRvIDA6IEdpdmVzIG1vcmUgd2VpZ2h0IHRvIGhpc3RvcmljYWwgZGF0YS4KU3VpdGFibGUgaWYgYWRtaXNzaW9ucyBhcmUgc3RhYmxlIHdpdGggZ3JhZHVhbCBjaGFuZ2VzLgrOsSBjbG9zZXIgdG8gMTogR2l2ZXMgbW9yZSB3ZWlnaHQgdG8gcmVjZW50IG9ic2VydmF0aW9ucy4KU3VpdGFibGUgaWYgYWRtaXNzaW9ucyBzaG93IHNpZ25pZmljYW50IHZhcmlhYmlsaXR5IG9yIHN1ZGRlbiBjaGFuZ2VzLgpFeHBlY3RlZCBWYWx1ZSBvZiDOsToKCklmIGFkbWlzc2lvbnMgZGF0YSBpcyBzdGFibGUsIM6xIHdvdWxkIGJlIGNsb3NlciB0byAwLCBsZXZlcmFnaW5nIGhpc3RvcmljYWwgdHJlbmRzLgpJZiBkYXRhIGlzIGR5bmFtaWMsIHN1Y2ggYXMgZHVyaW5nIGFuIG91dGJyZWFrLCDOsSB3b3VsZCBiZSBjbG9zZXIgdG8gMSB0byBxdWlja2x5IGFkYXB0IHRvIHJlY2VudCBjaGFuZ2VzLgpUaGUgY2hvaWNlIG9mIM6xIHNob3VsZCBiZSBiYXNlZCBvbiB0aGUgZGF0YSdzIGNoYXJhY3RlcmlzdGljcyBhbmQgYWRqdXN0ZWQgdGhyb3VnaCBleHBlcmltZW50YXRpb24gZm9yIGFjY3VyYWN5LgoKIyMgKipRdWVzdGlvbiA3LjIqKgoKYGBge3J9CmxpYnJhcnkoZHBseXIpIGxpYnJhcnkodGlkeXIpIGxpYnJhcnkoZ2dwbG90MikKCnRlbXBzIDwtcmVhZC50YWJsZSgiL1VzZXJzL21pY2FodW5kZXJ3b29kL0Rvd25sb2Fkcy93ZWVrXzNfSG9tZXdvcmstc3VtbWVyL3dlZWsgMyBkYXRhLXN1bW1lci90ZW1wcy50eHQiLCBoZWFkZXIgPSBUUlVFLCBzZXAgPSAiXHQiKQoKI2NvbnZlcnQgZGF0YSB0byBsb25nIGZvcm1hdAoKdGVtcHNfbG9uZyA8LSB0ZW1wcyAlPiUgcGl2b3RfbG9uZ2VyKGNvbHMgPSAtREFZLCBuYW1lc190byA9ICJZZWFyIiwgdmFsdWVzX3RvID0gIlRlbXBlcmF0dXJlIikKCiNyZW1vdmUgeCBwcmVmaXggLSB0aGlzIHdhcyBraWxsaW5nIG1lIAoKdGVtcHNfbG9uZyA8LSB0ZW1wc19sb25nICU+JSBtdXRhdGUoWWVhciA9IGFzLm51bWVyaWMoZ3N1YigiWCIsICIiLCBZZWFyKSkpCgp0ZW1wc19sb25nIDwtIG5hLm9taXQodGVtcHNfbG9uZykKCiNjcmVhdGUgZGF0ZSBjb2x1bW4KCnRlbXBzX2xvbmcgPC0gdGVtcHNfbG9uZyAlPiUgbXV0YXRlKERhdGUgPSBhcy5EYXRlKHBhc3RlKFllYXIsIERBWSwgc2VwID0gIi0iKSwgZm9ybWF0ID0gIiVZLSVkLSViIikpCgojYWdncmVnYXRlIGRhdGEgdG8gd2Vla2x5Cgp0ZW1wc19sb25nIDwtIHRlbXBzX2xvbmcgJT4lIG11dGF0ZShXZWVrID0gZm9ybWF0KERhdGUsICIlWS0lVSIpKSAlPiUgZ3JvdXBfYnkoV2VlaykgJT4lIHN1bW1hcmlzZShBdmVyYWdlX1RlbXBlcmF0dXJlID0gbWVhbihUZW1wZXJhdHVyZSkpCgojd2Vla2x5IHRpbWUgc2VyaWVzCgp0ZW1wc190cyA8LSB0cyh0ZW1wc19sb25nJEF2ZXJhZ2VfVGVtcGVyYXR1cmUsIHN0YXJ0ID0gYygxOTk2LCAxKSwgZnJlcXVlbmN5ID0gNTIpCgojSG9sdFdpbnRlcnMKCmh3X21vZGVsIDwtIEhvbHRXaW50ZXJzKHRlbXBzX3RzLCBzZWFzb25hbCA9ICJtdWx0aXBsaWNhdGl2ZSIpCgojcGxvdCBkYXRhCgpwbG90KGh3X21vZGVsLCBtYWluID0gIkV4cG9uZW50aWFsIFNtb290aGluZyBvZiBXZWVrbHkgQXZlcmFnZSBIaWdoIFRlbXBlcmF0dXJlcyAoSnVseS1PY3RvYmVyKSIpCgojdHJlbmQgY29tcG9uZW50Cgp0cmVuZF9jb21wb25lbnQgPC0gaHdfbW9kZWwkZml0dGVkWywgImxldmVsIl0KCiNnZ3Bsb3QgZGYKCnRyZW5kX2RhdGEgPC0gZGF0YS5mcmFtZSggVGltZSA9IHRpbWUodHJlbmRfY29tcG9uZW50KSwgVHJlbmQgPSB0cmVuZF9jb21wb25lbnQgKQoKI3Bsb3QgdGhlIHNoaWZ0CgpnZ3Bsb3QodHJlbmRfZGF0YSwgYWVzKHggPSBUaW1lLCB5ID0gVHJlbmQpKSArIGdlb21fbGluZSgpICsgZ2d0aXRsZSgiVHJlbmQgQ29tcG9uZW50IG9mIFdlZWtseSBBdmVyYWdlIEhpZ2ggVGVtcGVyYXR1cmVzIChKdWx5LU9jdG9iZXIpIikgKyB4bGFiKCJUaW1lIikgKyB5bGFiKCJUZW1wZXJhdHVyZSIpCgojc3VtbWFyaXplIHRoZSBzaGlmdAoKc3VtbWFyeSh0cmVuZF9kYXRhJFRyZW5kKQpgYGAKCk1pbi4gMXN0IFF1LgpNZWRpYW4gTWVhbiAzcmQgUXUuCk1heC4KCjU5LjEzIDc4LjIxIDgzLjUxIDg0LjIwIDg5LjU2IDExNS44MgoKIVtdKERlc2t0b3AvU2NyZWVuc2hvdCAyMDI0LTA2LTA0IGF0IDIuMzkuMjnigK9QTS5wbmcpCgojYWRkIHNtb290aGluZyBsaW5lCgohW10oRGVza3RvcC9TY3JlZW5zaG90IDIwMjQtMDYtMDQgYXQgMi40NS41MeKAr1BNLnBuZykKCkFjY29yZGluZyB0byBteSB3b3JrLCB3ZWVrbHkgYXZlcmFnZSB0ZW1wZXJhdHVyZXMgd291bGQgaW5kaWNhdGUgdGhhdCB0aGVyZSBtb3N0IGxpa2VseSBpcyBub3QgYSBzaWduaWZpY2FudCBzaGlmdCBpbiB0aGUgZW5kIG9mIHN1bW1lci4KQW4gdXB0aWNrIGluIHRoZSBsaW5lIHdvdWxkIGluZGljYXRlIHRoZXJlIGlzLgoKIyMgKipRdWVzdGlvbiA4LjEqKgoKSW4gaGVhbHRoY2FyZSBhbmFseXRpY3MsIGEgbGluZWFyIHJlZ3Jlc3Npb24gbW9kZWwgaXMgc3VpdGFibGUgZm9yIHByZWRpY3RpbmcgaG9zcGl0YWwgcmVhZG1pc3Npb24gcmF0ZXMuClJlZHVjaW5nIHJlYWRtaXNzaW9uIHJhdGVzIGltcHJvdmVzIHBhdGllbnQgb3V0Y29tZXMgYW5kIHJlZHVjZXMgY29zdHMuCkJ5IGlkZW50aWZ5aW5nIGtleSBmYWN0b3JzLCBoZWFsdGhjYXJlIHByb3ZpZGVycyBjYW4gaW1wbGVtZW50IHRhcmdldGVkIGludGVydmVudGlvbnMuCgojIyMgKipTaXR1YXRpb246IFByZWRpY3RpbmcgSG9zcGl0YWwgUmVhZG1pc3Npb24gUmF0ZXMqKgoKKipQcmVkaWN0b3JzOioqCgoxLiAgKipQYXRpZW50IEFnZToqKiBPbGRlciBwYXRpZW50cyBvZnRlbiBoYXZlIGhpZ2hlciByZWFkbWlzc2lvbiByYXRlcy4KCjIuICAqKkxlbmd0aCBvZiBTdGF5IChMT1MpOioqIExvbmdlciBob3NwaXRhbCBzdGF5cyBtaWdodCBpbmRpY2F0ZSBtb3JlIHNldmVyZSBoZWFsdGggaXNzdWVzLgoKMy4gICoqTnVtYmVyIG9mIFByZXZpb3VzIEFkbWlzc2lvbnM6KiogRnJlcXVlbnQgaG9zcGl0YWwgdmlzaXRzIHN1Z2dlc3QgYSBoaWdoZXIgcmlzayBvZiByZWFkbWlzc2lvbi4KCjQuICAqKkRpc2NoYXJnZSBEaWFnbm9zaXM6KiogQ2VydGFpbiBkaWFnbm9zZXMsIGxpa2UgaGVhcnQgZmFpbHVyZSwgYXJlIGxpbmtlZCB0byBoaWdoZXIgcmVhZG1pc3Npb25zLgoKNS4gICoqRm9sbG93LXVwIENhcmU6KiogUXVhbGl0eSBvZiBmb2xsb3ctdXAgY2FyZSBjYW4gc2lnbmlmaWNhbnRseSBpbXBhY3QgcmVhZG1pc3Npb24gcmF0ZXMuCgojIyMgKipBcHBsaWNhdGlvbjoqKgoKLSAgICoqT2JqZWN0aXZlOioqIElkZW50aWZ5IHNpZ25pZmljYW50IHByZWRpY3RvcnMgb2YgaG9zcGl0YWwgcmVhZG1pc3Npb25zIGFuZCBxdWFudGlmeSB0aGVpciBpbXBhY3QuCgotICAgKipEYXRhIENvbGxlY3Rpb246KiogSGlzdG9yaWNhbCBkYXRhIG9uIHBhdGllbnQgZGVtb2dyYXBoaWNzLCBob3NwaXRhbCBzdGF5cywgZGlhZ25vc2VzLCBhbmQgZm9sbG93LXVwIGNhcmUuCgotICAgKipNb2RlbCBUcmFpbmluZzoqKiBGaXQgYSBsaW5lYXIgcmVncmVzc2lvbiBtb2RlbCB0byBwcmVkaWN0IHJlYWRtaXNzaW9uIHJhdGVzLgoKLSAgICoqSW1wbGVtZW50YXRpb246KiogSWRlbnRpZnkgYXQtcmlzayBwYXRpZW50cyBhbmQgZGV2ZWxvcCBpbnRlcnZlbnRpb25zLgoKVXNpbmcgbGluZWFyIHJlZ3Jlc3Npb24sIGhlYWx0aGNhcmUgcHJvdmlkZXJzIGNhbiBwcm9hY3RpdmVseSByZWR1Y2UgcmVhZG1pc3Npb24gcmlza3MgYW5kIGltcHJvdmUgcGF0aWVudCBjYXJlLgoKIyMgUXVlc3Rpb24gOC4yCgpgYGB7cn0KbGlicmFyeShNQVNTKQoKZGF0YSA8LSByZWFkLnRhYmxlKCJodHRwOi8vd3d3LnN0YXRzY2kub3JnL2RhdGEvZ2VuZXJhbC91c2NyaW1lLnR4dCIsIGhlYWRlcj1UUlVFKQoKI2ZpdCBsaW5lYXIgbW9kZWwKCm1vZGVsIDwtIGxtKENyaW1lIH4gTSArIFNvICsgRWQgKyBQbzEgKyBQbzIgKyBMRiArIE0uRiArIFBvcCArIE5XICsgVTEgKyBVMiArIFdlYWx0aCArIEluZXEgKyBQcm9iICsgVGltZSwgZGF0YT1kYXRhKQoKI21vZGVsIHN1bW1hcnkKCnN1bW1hcnkobW9kZWwpCgpuZXdfZGF0YSA8LSBkYXRhLmZyYW1lKCBNID0gMTQuMCwgU28gPSAwLCBFZCA9IDEwLjAsIFBvMSA9IDEyLjAsIFBvMiA9IDE1LjUsIExGID0gMC42NDAsIE0uRiA9IDk0LjAsIFBvcCA9IDE1MCwgTlcgPSAxLjEsIFUxID0gMC4xMjAsIFUyID0gMy42LCBXZWFsdGggPSAzMjAwLCBJbmVxID0gMjAuMSwgUHJvYiA9IDAuMDQsIFRpbWUgPSAzOS4wICkKCiNwcmVkaWN0IGNyaW1lIHJhdGUKCnByZWRpY3RlZF9jcmltZSA8LSBwcmVkaWN0KG1vZGVsLCBuZXdkYXRhID0gbmV3X2RhdGEpIHByZWRpY3RlZF9jcmltZQpgYGAKCjE1NS40MzQ5CgpPdXIgbW9kZWwgaGFzIHByZWRpY3RlZCAxNTUgY3JpbWVzIHBlciAxMDAsMDAwIHBlb3BsZS4KClRoZSBtdWx0aXBsZSBSLXNxdWFyZWQgdmFsdWUgaXMgMC44MDMxLCBhbmQgdGhlIGFkanVzdGVkIFItc3F1YXJlZCB2YWx1ZSBpcyAwLjcwNzgsIGluZGljYXRpbmcgdGhhdCBhYm91dCA3MC43OCUgb2YgdGhlIHZhcmlhYmlsaXR5IGluIGNyaW1lIHJhdGVzIGNhbiBiZSBleHBsYWluZWQgYnkgdGhlIHByZWRpY3RvcnMgd2UgdXNlZCBhYm92ZS4K