4
$\begingroup$

I am trying to model the arch of a basketball free throw projectory. Usually per person, this dataset has 6 points each where it is the height of the basketball via various seconds after the player throws the ball. The dataset itself sometimes is very "peaky", one would expect to be almost smooth from the data itself but it has a little zig zag. I am trying to build a model with x parameter variables such as height of the person, arm length, bmi, activeScore (from 1 to 10 for how active is the person) to estimate these various points:

datapt1: freethrow stance height when ball is primed to throw datapt2: 1s after person throws datapt3: 2s after datapt4: 3s after datapt5: 4s after datapt6: 5s after

What method would you suggest to do this? Multiple linear regression produces peaky estimations as mentioned above whereas the nature of this model should exhibit a smooth curve spline like shape.

$\endgroup$

1 Answer 1

4
$\begingroup$

You could train a model to transform your list of input features to three parameters $A$, $B$, and $C$, and then use those three parameters to draw the predicted parabola $Ax^2+Bx+C$. The $MSE$ between the prediction and the data would be used to optimise the parameters.

This approach would handle an arbitrarily-long and mixed set of input features, whilst ensuring the output prediction is constrained to a smooth trajectory (a physics-based one in this case).

$\endgroup$
4
  • $\begingroup$ Sounds like a sensible and direct approach. I assume the three parameters you are referring to are height,arm length,bmi. I have never done a prediction or regression using a specific parabolic outcome, do you have an example within the pandas package? $\endgroup$ Commented Jun 13 at 0:24
  • $\begingroup$ My thinking was that the input features (height, BMI, etc), would first need to be transformed to 3 new parameters $A$, $B$, and $C$, which parameterise/define a parabola. Each of those 3 new parameters is a mix of the original features, where the optimal mix is learnt by the model. pandas would typically be used to store the features and for doing some initial cleansing/processing, but it can't be used to fit a model. $\endgroup$ Commented Jun 13 at 10:22
  • $\begingroup$ I think that's where I am being hung-up. I can use various methods like PCA regression, or even exponential regression to output the various values on the curve. However, it is peaky, not smooth. Are you suggesting after one does this step, take an additional step to smooth the values thereafter? $\endgroup$ Commented Jun 13 at 20:09
  • $\begingroup$ My approach would be to create a single model that does all of the following: input features, transform to intermediate parameters $ABC$, output parabola. This would be inside an optimisation loop which adjusts the model until its parabola matches the data. I can't see an effective way to do this using sklearn or scipy. I'd use PyTorch or similar to build a neural network. That way, a single model can be created that handles each step, and its parameters get tuned for the entire features-to-parabola task. How big is the dataset in terms of features, rows, time-points, etc? $\endgroup$ Commented Jun 13 at 20:47

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.