- While fitting a curve through linear regression method, using Grasshopper LunchBox, I noticed numbers do not match up with those calculated by python. However small, the discrepancy is really annoying.
test 02.gh (36.5 KB)
test 02.csv (1.6 KB)
- The second issue is the way input and output data are used in the template file provided by the plug-in developer. I suspect the input seeks “two or more” independent data—or predictors—whereas the output is where the dependent data is fed. The template shows otherwise; two output and one input.
The template, provided by the developer:
LBML_MultivariateLinearRegression.gh (25.0 KB)
Your suggestions and/or hints/solutions are highly appreciated.
Since the edit option is seemingly not available, I am gonna raise an alternative question in this regard.
This python code:
import pandas as pd
import statsmodels.api as sm
import seaborn as sns
import matplotlib.pyplot as plt
points = pd.read_csv("...3d points.csv")
model2 = sm.OLS.from_formula('y ~ x + z', data=points).fit()
sns.lmplot(x='x', y='y', palette='Blues', fit_reg=False, data=points)
plt.plot(points.x, model2.params+model2.params*points.x+model2.params*-2, color='lightblue', linewidth=5)
plt.plot(points.x, model2.params+model2.params*points.x+model2.params*4, color='blue', linewidth=5)
plt.plot(points.x, model2.params+model2.params*points.x+model2.params*6, color='darkblue', linewidth=5)
Generates these results:
The grasshopper component of multivariate regression, however, provides different results (coefficients and the intercept).
LBML_MultivariateLinearRegression.gh (22.5 KB)
3d points.csv (2.1 KB)
How do we interpret this discrepancy?
if the question is fundamentally wrong, I would appreciate it if anyone could show me what the right question is like.