# What's WRONG with my multiple regression model

I am working on a regression model, more precisely, multiple regression model for predicting one single value. I have a dataset of cars and some technical data.

For example, I have the following prediction for the following car data:

Make: Volvo
Model: XC90 T8 Recharge AWD
Doors: 4
Seats: 7
SeatsMin: 7
SeatsMax: 7
Dimensions: 4950x1931x1776
Length: 4950
Width: 1931
Height: 1776
WheelBase: 2984
Weight: 2320
MaxWeight: 2980
TrunkVolMin: 262
TrunkVolMax: 1816
TankVolume: 70
Electric: Electric or hybrid
TurboCharged: 1: Turbo charged engine
Kompressor: 1: Kompressor charged engine
Displacement: 1969
EnginePower: 288(390)/6000
EngineTorque: 640/2200
MaxPower: 288.00
MaxTorque: 640.00
Druve: All wheel drive
FrontWheelDrive: Front wheel drive
RearWheelDrive: Rear wheel drive
Gears: 8
Automatic: Automatic gearbox
Acceleration: 5.8
MaxSpeed: 180
FuelConsumption: 2.1 S
CO2: 57
FuelType: S
Predicted_Acceleration: 5.66731
Residuals: .13269


Acceleration by default is 5.8, the model gives 5.66731, meaning it is off by 0.1 or something. According to the model summary, $$R^2$$ is roughly 75.9% percent accurate.

EDIT: I do not know for sure, what other bits of data here can be used to form a more accurate model. I haven't made any dummy variables yet. Not decoded into binary.

– Dave
May 11 at 18:52
• No, but, what is my model missing? To become more accurate. I have plenty of data, but, I use the following only: MaxTorque, MaxWeight, and Gears May 11 at 18:54
• What do you mean by "more accurate"?
– Dave
May 11 at 18:59
• Well, for another car in my list, the original value for acceleration is 9.9, but my model predicts and outputs: 10.71069, this is not accurate. Now, I am not good with cars, so I do not know exactly what parts of the data here can help achieve better output. May 11 at 19:02
• Why is $10.71069$ not accurate but $5.66731$ is? Both times, the wrong number is predicted.
– Dave
May 11 at 19:07

Your comment "Now, I am not good with cars, so I do not know exactly what parts of the data here can help achieve better output" is very insightful! You've correctly identified your problem, and the solution is not in the data or the model. The solution is finding out more about how cars accelerate.

I would advise you to find someone who does know a lot about cars, and ask them a lot of questions. You might learn things like:

• "Turbo charged engines always accelerate faster/slower than Kompressor charged engines"
• "If you want a car that accelerates fast, you would look for XXX and YYY but avoid ZZZ" (You would then know to include those things in your model)
• "XXX increases acceleration up to a point but then levels off" (Maybe you would then include XXX in your model as a polynomial term instead of a linear term)
• "For a front wheel drive car XXX is important but for a rear-wheel drive car XXX makes no difference" (Then you might include an interaction term in your model)
• "Error of 0.8 is really close, that's very good accuracy" or "Error of 0.8 is really big, that's terrible accuracy" (Then you would know how useful your model actually is)

I also do not know anything about cars, so I can't answer these questions. They may not even be the right questions! But for a real-world modelling task, understanding the real-world meaning of the data is never time wasted.

It is not clear what your question is, especially as the prediction looks amazingly accurate to me: 5.67 versus 5.8 is just an error of about 2%. Maybe you are misinterpreting the reported value of $$R^2$$ as a measure for accuracy, which it is not.

A nice thing about linear models is that they also estimate the accuracy of the prediction by means of a "prediction interval"*). It estimates, under the assumption that the model is correct, an interval in which the response value will be observed 95% of the times for the given predictor values. In R, e.g., you can obtain it with

predict(model, data.frame(x1=val1, x2=val2,
...), interval="predict")


This way, you can estimate the accuracy of the prediction even when the true value is unknown.

*) Edit: in the original version of the answer, I called the "prediction interval" a "confidence interval", but as pointed out by @whuber, this term is reserved for parameter estimates.

• Confidence interval or prediction interval?
– Dave
May 12 at 9:31
• That code produces a prediction interval. It differs from a confidence interval of the predicted value in that it is widened to accommodate the (independent) uncertainty inherent in the unobserved value itself. See stats.stackexchange.com/questions/16493.
– whuber
May 12 at 12:09
• I guess, by "confidence interval", you mean the confidence interval for the mean value of the prediction, not for the prediction. This is returned with the parameter interval="confidence". While this is the usual linear model lingo, a 95% interval for the actual observed response ("prediction interval") is a "confidence interval", too, albeit for a different observable. May 12 at 12:15
• The link I gave explains the sense in which prediction intervals are not confidence intervals of any kind. A prediction interval tries to bracket a random variable whereas a confidence interval tries to bracket a (nonrandom) parameter.
– whuber
May 13 at 15:13
• @whuber Thanks for clarifying terms. I have edited the answer and used the term "prediction interval" insetead. May 17 at 9:33