Why is the intercept typed in as a 1 in stats packages (R, python) The Next CEO of Stack OverflowAdvice 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
What are the unusually-enlarged wing sections on this P-38 Lightning?
Why did early computer designers eschew integers?
Airplane gently rocking its wings during whole flight
Do I need to write [sic] when including a quotation with a number less than 10 that isn't written out?
Help! I cannot understand this game’s notations!
Is it okay to majorly distort historical facts while writing a fiction story?
Free fall ellipse or parabola?
Man transported from Alternate World into ours by a Neutrino Detector
(How) Could a medieval fantasy world survive a magic-induced "nuclear winter"?
Why don't programming languages automatically manage the synchronous/asynchronous problem?
What CSS properties can the br tag have?
Why am I getting "Static method cannot be referenced from a non static context: String String.valueOf(Object)"?
Is there a way to save my career from absolute disaster?
Computationally populating tables with probability data
Why is the US ranked as #45 in Press Freedom ratings, despite its extremely permissive free speech laws?
What was Carter Burke's job for "the company" in Aliens?
Vector calculus integration identity problem
What difference does it make using sed with/without whitespaces?
What happened in Rome, when the western empire "fell"?
What is the process for purifying your home if you believe it may have been previously used for pagan worship?
It is correct to match light sources with the same color temperature?
Won the lottery - how do I keep the money?
From jafe to El-Guest
If Nick Fury and Coulson already knew about aliens (Kree and Skrull) why did they wait until Thor's appearance to start making weapons?
Why is the intercept typed in as a 1 in stats packages (R, python)
The Next CEO of Stack OverflowAdvice 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♦
Mar 19 at 4:31
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 Mar 19 at 10:01
kjetil b halvorsen
31.7k984234
31.7k984234
asked Mar 19 at 4:00
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♦
Mar 19 at 4:31
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♦
Mar 19 at 4:31
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♦
Mar 19 at 4:31
$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♦
Mar 19 at 4:31
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 |
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 Mar 19 at 4:27
answered Mar 19 at 4:09
Stephan KolassaStephan Kolassa
47.2k7100175
47.2k7100175
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♦
Mar 19 at 4:31