Jestem zafascynowany danymi z czujników. Użyłem iPhone'a i aplikacji o nazwie SensorLog do przechwytywania danych akcelerometru , podczas gdy stoję i pcham nogi, aby skakać.Używanie danych przyspieszeniomierza R i czujnika do wykrycia skoku
Moim celem jest użycie R do stworzenia modelu, który może identyfikować skoki i jak długo jestem w powietrzu. Nie jestem pewien, jak postępować w takim wyzwaniu. Mam timeseries z danymi z akcelerometru.
https://drive.google.com/file/d/0ByWxsCBUWbqRcGlLVTVnTnZIVVk/view?usp=sharing
Niektóre pytania:
- Jak skok zostać wykryte w danych timeseries?
- Jak rozpoznać część czasu antenowego?
- Jak wyszkolić taki model?
Poniżej znajduje się kod R wykorzystywane do tworzenia wykresów powyżej, który jest mną stoi i robi prosty skok.
Dzięki!
# Training set
sample <- read.csv("sample-data.csv")
# Sum gravity
sample$total_gravity <- sqrt(sample$accelerometerAccelerationX^2+sample$accelerometerAccelerationY^2+sample$accelerometerAccelerationZ^2)
# Smooth our total gravity to remove noise
f <- rep(1/4,4)
sample$total_gravity_smooth <- filter(sample$total_gravity, f, sides=2)
# Removes rows with NA from smoothing
sample<-sample[!is.na(sample$total_gravity_smooth),]
#sample$test<-rollmaxr(sample$total_gravity_smooth, 10, fill = NA, align = "right")
# Plot gravity
plot(sample$total_gravity, type="l", col=grey(.2), xlab="Series", ylab="Gravity", main="Accelerometer Gravitational Force")
lines(sample$total_gravity_smooth, col="red")
stdevs <- mean(sample$total_gravity_smooth)+c(-2,-1,+1,+2)*sd(sample$total_gravity_smooth)
abline(h=stdevs)
Patrz odpowiedź tutaj. Może pomóc! http://stackoverflow.com/questions/31010553/what-is-to-right-algorithm-to-detect-segmentations-of-a-line-chart/31013066#31013066 – Shiva