1. A system for estimating when an engine event occurs, comprising: at least one knock sensor coupled to a combustion engine; at least one engine crankshaft sensor coupled to the combustion engine; an engine control unit configured to: receive a first signal from the at least one knock sensor; receive a second signal from the at least one engine crankshaft sensor; transform the first signal from the at least one knock sensor into a plurality of feature vectors using a multivariate transformation algorithm by converting the first signal into a spectrogram and transforming the spectrogram into the plurality of feature vectors; sort, using the second signal from the at least one engine crankshaft sensor, the plurality of feature vectors into a first state and a second state, wherein the first state corresponds to a time before the engine event and the second state corresponds to a time after the engine event; and form a first statistical model using the first state; form a second statistical model using the second state; combine the first statistical model and the second statistical model into a third statistical model; determine, using the third statistical model, an expected timing window of the engine event; center a segment of the plurality of feature vectors around the expected timing window by associating a frequency pattern indicative of the engine event with the first signal from the at least one knock sensor; estimate, using the third statistical model, an estimated time in the expected timing window corresponding to the engine event; and sending a signal to take corrective action based on the estimated time of the engine event.