Wearable Tech for Fall Detection

Falls are the leading cause of injury death in people over 65. A significant number of those deaths aren’t from the impact itself; they’re from lying undetected for hours afterward. The detection problem is, at its core, a classification problem: given a short window of accelerometer and gyroscope data, is this a fall or not?

Exploring the Data First

The sensor data covers multiple features per timestep. Projecting down to two principal components captures over 80% of the variance, high enough to see structure in a 2D scatter plot. Fall events and non-fall activity separate into rough clusters, which is a useful sanity check before any supervised training starts.

k-means on the reduced data identifies three natural groups, with a silhouette score of 0.65. Three clusters beats two because there are really two distinct types of non-fall movement: sedentary activity (sitting, lying) and active movement (walking). The match between cluster assignments and true labels sits at 81.3%, not bad for an unsupervised method that never sees the labels.

This EDA step matters. If a clustering algorithm can partially recover the fall signature without supervision, the signal is distinctive enough to support supervised training. It’s a useful check before committing to model selection.

SVM vs. MLP

Both classifiers trained on the same data. The SVM used an RBF kernel with C=5 and auto gamma. The MLP used two hidden layers (50 then 100 neurons) with tanh activations.

In validation, they were essentially tied. In testing, the MLP won: 91.76% vs. 89.41%.

The accuracy gap understates the difference. The SVM’s recall for fall events was high (it rarely missed an actual fall). But its precision for non-fall events was lower, meaning it over-predicted falls, flagging normal movements as fall events more often than the MLP. In a healthcare setting, false positives have real costs: unnecessary emergency dispatches, alert fatigue, and reduced trust from the people wearing these devices.

The MLP’s more balanced precision-recall profile is the actual reason to prefer it. Raw accuracy is the wrong metric to optimize when the two error types have different consequences.

From Test Set to Real World

Falls are rare. A user might fall once every few months. Between falls, a sensor logs hundreds of thousands of movement windows. Even a 99% accurate classifier generates thousands of false alarms over a year of continuous use.

Deployment requires evaluating precision over the realistic distribution of movements, not a balanced test set. The next step for a project like this is cross-subject validation: test on users who weren’t in the training data at all. That’s the gap between a model that works on paper and one that holds up in the field.

← back to writing