Why is the intercept typed in as a 1 in stats packages (R, python)Advice on a good production level SPC (statistical process control) package?Understanding what Dassault iSight is doing?What languages are commonly used in medical statistics?What statistical software does NOT provide for Classification and Regression modelsHow must one handle ordinal independent variables when modeling interactions?Predicting with GLM using Gaussian distributed dataStandard error for rolling regressionSlope interpretation in simple linear regressionAlternatives to Journal of Statistical Software?Non-straight lines in random intercept random slope plots
How do you justify more code being written by following clean code practices?
Why doesn't Gödel's incompleteness theorem apply to false statements?
Is there a distance limit for minecart tracks?
PTIJ: Which Dr. Seuss books should one obtain?
How do you say "Trust your struggle." in French?
Why didn't Voldemort know what Grindelwald looked like?
Why is "la Gestapo" feminine?
How to get directions in deep space?
Writing in a Christian voice
Asserting that Atheism and Theism are both faith based positions
When is the exact date for EOL of Ubuntu 14.04 LTS?
Does capillary rise violate hydrostatic paradox?
Calculate Pi using Monte Carlo
How can a new country break out from a developed country without war?
Recursively move files within sub directories
Exposing a company lying about themselves in a tightly knit industry (videogames) : Is my career at risk on the long run?
Derivative of an interpolated function
What is the period/term used describe Giuseppe Arcimboldo's style of painting?
What properties make a magic weapon befit a Rogue more than a DEX-based Fighter?
How to test the sharpness of a knife?
How to split IPA spelling into syllables
Trouble reading roman numeral notation with flats
Started in 1987 vs. Starting in 1987
"Oh no!" in Latin
Why is the intercept typed in as a 1 in stats packages (R, python)
Advice on a good production level SPC (statistical process control) package?Understanding what Dassault iSight is doing?What languages are commonly used in medical statistics?What statistical software does NOT provide for Classification and Regression modelsHow must one handle ordinal independent variables when modeling interactions?Predicting with GLM using Gaussian distributed dataStandard error for rolling regressionSlope interpretation in simple linear regressionAlternatives to Journal of Statistical Software?Non-straight lines in random intercept random slope plots
$begingroup$
When using statistics software, When defining your linear models, why is the intercept typed in as a 1, rather than "const" or "intercept" or something. What significance does 1 have?
Is there some historic reason? Or is this logical in some way I am failing to grasp? The intercept could very well be any number.
Example from statsmodels library in python:
model = smf.ols('Height ~ 1', data = height_sample_data)
I know lmer package for R is very similar.
regression software intercept
$endgroup$
add a comment |
$begingroup$
When using statistics software, When defining your linear models, why is the intercept typed in as a 1, rather than "const" or "intercept" or something. What significance does 1 have?
Is there some historic reason? Or is this logical in some way I am failing to grasp? The intercept could very well be any number.
Example from statsmodels library in python:
model = smf.ols('Height ~ 1', data = height_sample_data)
I know lmer package for R is very similar.
regression software intercept
$endgroup$
5
$begingroup$
The intercept is the coefficient (which indeed could have any value), but what you enter into the regression program when you fit the model are not the coefficients, but the things you multiply the coefficients by in the regression equation (the $x$'s). What do you multiply the intercept by in the regression equation? (Note that $beta_0 times 1 = beta_0$.)
$endgroup$
– Glen_b♦
21 hours ago
add a comment |
$begingroup$
When using statistics software, When defining your linear models, why is the intercept typed in as a 1, rather than "const" or "intercept" or something. What significance does 1 have?
Is there some historic reason? Or is this logical in some way I am failing to grasp? The intercept could very well be any number.
Example from statsmodels library in python:
model = smf.ols('Height ~ 1', data = height_sample_data)
I know lmer package for R is very similar.
regression software intercept
$endgroup$
When using statistics software, When defining your linear models, why is the intercept typed in as a 1, rather than "const" or "intercept" or something. What significance does 1 have?
Is there some historic reason? Or is this logical in some way I am failing to grasp? The intercept could very well be any number.
Example from statsmodels library in python:
model = smf.ols('Height ~ 1', data = height_sample_data)
I know lmer package for R is very similar.
regression software intercept
regression software intercept
edited 15 hours ago
kjetil b halvorsen
31.3k984224
31.3k984224
asked 21 hours ago
Adam BAdam B
21418
21418
5
$begingroup$
The intercept is the coefficient (which indeed could have any value), but what you enter into the regression program when you fit the model are not the coefficients, but the things you multiply the coefficients by in the regression equation (the $x$'s). What do you multiply the intercept by in the regression equation? (Note that $beta_0 times 1 = beta_0$.)
$endgroup$
– Glen_b♦
21 hours ago
add a comment |
5
$begingroup$
The intercept is the coefficient (which indeed could have any value), but what you enter into the regression program when you fit the model are not the coefficients, but the things you multiply the coefficients by in the regression equation (the $x$'s). What do you multiply the intercept by in the regression equation? (Note that $beta_0 times 1 = beta_0$.)
$endgroup$
– Glen_b♦
21 hours ago
5
5
$begingroup$
The intercept is the coefficient (which indeed could have any value), but what you enter into the regression program when you fit the model are not the coefficients, but the things you multiply the coefficients by in the regression equation (the $x$'s). What do you multiply the intercept by in the regression equation? (Note that $beta_0 times 1 = beta_0$.)
$endgroup$
– Glen_b♦
21 hours ago
$begingroup$
The intercept is the coefficient (which indeed could have any value), but what you enter into the regression program when you fit the model are not the coefficients, but the things you multiply the coefficients by in the regression equation (the $x$'s). What do you multiply the intercept by in the regression equation? (Note that $beta_0 times 1 = beta_0$.)
$endgroup$
– Glen_b♦
21 hours ago
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
It is logical, once you consider the matrix notation that your formula will be translated into internally. In the matrix, the non-constant predictors will be translated into (one or more) columns, and the intercept will be translated into a column consisting entirely of ones.
For instance, in R you would write a very simple OLS as:
lm(z~1+x+y)
In matrix notation, this would be translated into a model
$$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
beginpmatrix 1 & x_1 & y_1 \ 1 & x_2 & y_2 \ vdots & vdots & vdots \ 1 & x_n & y_n endpmatrix
beginpmatrix beta_0 \ beta_x \ beta_z endpmatrix
+beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
$$
and now you see where the $1$ comes from.
Actually, you could leave the 1+
out, since R will always presume you want to include an intercept, so this is completely equivalent to
lm(z~x+y).
However, if you want to suppress the intercept, you would write something like
lm(z~x+y-1),
which would be translated into a matrix without a 1 column:
$$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
beginpmatrix x_1 & y_1 \ x_2 & y_2 \ vdots & vdots \ x_n & y_n endpmatrix
beginpmatrix beta_x \ beta_z endpmatrix
+beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
$$
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "65"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstats.stackexchange.com%2fquestions%2f398259%2fwhy-is-the-intercept-typed-in-as-a-1-in-stats-packages-r-python%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
It is logical, once you consider the matrix notation that your formula will be translated into internally. In the matrix, the non-constant predictors will be translated into (one or more) columns, and the intercept will be translated into a column consisting entirely of ones.
For instance, in R you would write a very simple OLS as:
lm(z~1+x+y)
In matrix notation, this would be translated into a model
$$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
beginpmatrix 1 & x_1 & y_1 \ 1 & x_2 & y_2 \ vdots & vdots & vdots \ 1 & x_n & y_n endpmatrix
beginpmatrix beta_0 \ beta_x \ beta_z endpmatrix
+beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
$$
and now you see where the $1$ comes from.
Actually, you could leave the 1+
out, since R will always presume you want to include an intercept, so this is completely equivalent to
lm(z~x+y).
However, if you want to suppress the intercept, you would write something like
lm(z~x+y-1),
which would be translated into a matrix without a 1 column:
$$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
beginpmatrix x_1 & y_1 \ x_2 & y_2 \ vdots & vdots \ x_n & y_n endpmatrix
beginpmatrix beta_x \ beta_z endpmatrix
+beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
$$
$endgroup$
add a comment |
$begingroup$
It is logical, once you consider the matrix notation that your formula will be translated into internally. In the matrix, the non-constant predictors will be translated into (one or more) columns, and the intercept will be translated into a column consisting entirely of ones.
For instance, in R you would write a very simple OLS as:
lm(z~1+x+y)
In matrix notation, this would be translated into a model
$$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
beginpmatrix 1 & x_1 & y_1 \ 1 & x_2 & y_2 \ vdots & vdots & vdots \ 1 & x_n & y_n endpmatrix
beginpmatrix beta_0 \ beta_x \ beta_z endpmatrix
+beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
$$
and now you see where the $1$ comes from.
Actually, you could leave the 1+
out, since R will always presume you want to include an intercept, so this is completely equivalent to
lm(z~x+y).
However, if you want to suppress the intercept, you would write something like
lm(z~x+y-1),
which would be translated into a matrix without a 1 column:
$$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
beginpmatrix x_1 & y_1 \ x_2 & y_2 \ vdots & vdots \ x_n & y_n endpmatrix
beginpmatrix beta_x \ beta_z endpmatrix
+beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
$$
$endgroup$
add a comment |
$begingroup$
It is logical, once you consider the matrix notation that your formula will be translated into internally. In the matrix, the non-constant predictors will be translated into (one or more) columns, and the intercept will be translated into a column consisting entirely of ones.
For instance, in R you would write a very simple OLS as:
lm(z~1+x+y)
In matrix notation, this would be translated into a model
$$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
beginpmatrix 1 & x_1 & y_1 \ 1 & x_2 & y_2 \ vdots & vdots & vdots \ 1 & x_n & y_n endpmatrix
beginpmatrix beta_0 \ beta_x \ beta_z endpmatrix
+beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
$$
and now you see where the $1$ comes from.
Actually, you could leave the 1+
out, since R will always presume you want to include an intercept, so this is completely equivalent to
lm(z~x+y).
However, if you want to suppress the intercept, you would write something like
lm(z~x+y-1),
which would be translated into a matrix without a 1 column:
$$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
beginpmatrix x_1 & y_1 \ x_2 & y_2 \ vdots & vdots \ x_n & y_n endpmatrix
beginpmatrix beta_x \ beta_z endpmatrix
+beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
$$
$endgroup$
It is logical, once you consider the matrix notation that your formula will be translated into internally. In the matrix, the non-constant predictors will be translated into (one or more) columns, and the intercept will be translated into a column consisting entirely of ones.
For instance, in R you would write a very simple OLS as:
lm(z~1+x+y)
In matrix notation, this would be translated into a model
$$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
beginpmatrix 1 & x_1 & y_1 \ 1 & x_2 & y_2 \ vdots & vdots & vdots \ 1 & x_n & y_n endpmatrix
beginpmatrix beta_0 \ beta_x \ beta_z endpmatrix
+beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
$$
and now you see where the $1$ comes from.
Actually, you could leave the 1+
out, since R will always presume you want to include an intercept, so this is completely equivalent to
lm(z~x+y).
However, if you want to suppress the intercept, you would write something like
lm(z~x+y-1),
which would be translated into a matrix without a 1 column:
$$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
beginpmatrix x_1 & y_1 \ x_2 & y_2 \ vdots & vdots \ x_n & y_n endpmatrix
beginpmatrix beta_x \ beta_z endpmatrix
+beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
$$
edited 21 hours ago
answered 21 hours ago
Stephan KolassaStephan Kolassa
46.9k799174
46.9k799174
add a comment |
add a comment |
Thanks for contributing an answer to Cross Validated!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstats.stackexchange.com%2fquestions%2f398259%2fwhy-is-the-intercept-typed-in-as-a-1-in-stats-packages-r-python%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
5
$begingroup$
The intercept is the coefficient (which indeed could have any value), but what you enter into the regression program when you fit the model are not the coefficients, but the things you multiply the coefficients by in the regression equation (the $x$'s). What do you multiply the intercept by in the regression equation? (Note that $beta_0 times 1 = beta_0$.)
$endgroup$
– Glen_b♦
21 hours ago