estimate a truncated normal distribution with only top tail of data of that distribution in r
up vote
0
down vote
favorite
I am trying to fit a truncated normal distribution to a data, however my problem is I only have top tail of the data/distribution (and I wouldn't know what percentile they are because I dont know about the real distribution's mean and variance yet), by which I want to construct back the truncated normal distribution and get it's estimated mean and variance. The package I used was fitdistrplus::fitdistr.
The codes I tried are as following:
dtnorm.trun1 <- function(x, mean, sd, a= 8.414596, b=Inf)
dnorm(x, mean, sd)/(pnorm(b,mean,sd)-pnorm(a,mean,sd))
ptnorm.trun1 <- function(x, mean, sd, a= 8.414596, b=Inf)
(pnorm(x, mean, sd)-pnorm(a,mean,sd))/(pnorm(b,mean,sd)-pnorm(a,mean, sd))
fit <- fitdistr(data, dtnorm.trun1, method="Nelder-Mead", start=list(mean=-24, sd=21))
I'm doing this practice for replication, so I expect I should be getting fitted mean of -24 and sd of 21, and the real data was truncated at 8.414596. With different starting values and different estimation method, I won't be getting my expected result. I'm really confused about this. Thank you in advance for any suggestion and advise.
r
add a comment |
up vote
0
down vote
favorite
I am trying to fit a truncated normal distribution to a data, however my problem is I only have top tail of the data/distribution (and I wouldn't know what percentile they are because I dont know about the real distribution's mean and variance yet), by which I want to construct back the truncated normal distribution and get it's estimated mean and variance. The package I used was fitdistrplus::fitdistr.
The codes I tried are as following:
dtnorm.trun1 <- function(x, mean, sd, a= 8.414596, b=Inf)
dnorm(x, mean, sd)/(pnorm(b,mean,sd)-pnorm(a,mean,sd))
ptnorm.trun1 <- function(x, mean, sd, a= 8.414596, b=Inf)
(pnorm(x, mean, sd)-pnorm(a,mean,sd))/(pnorm(b,mean,sd)-pnorm(a,mean, sd))
fit <- fitdistr(data, dtnorm.trun1, method="Nelder-Mead", start=list(mean=-24, sd=21))
I'm doing this practice for replication, so I expect I should be getting fitted mean of -24 and sd of 21, and the real data was truncated at 8.414596. With different starting values and different estimation method, I won't be getting my expected result. I'm really confused about this. Thank you in advance for any suggestion and advise.
r
2
This is probably a better question for Cross Validated since you seem to be concerned with statistical estimation rather than programming.
– MrFlick
Nov 21 at 21:14
@MrFlick thank you for editing and the suggestion, I will post the question there too. But I also was wondering is it because I understood this package incorrectly or use it wrong..
– C.Dm
Nov 21 at 21:56
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I am trying to fit a truncated normal distribution to a data, however my problem is I only have top tail of the data/distribution (and I wouldn't know what percentile they are because I dont know about the real distribution's mean and variance yet), by which I want to construct back the truncated normal distribution and get it's estimated mean and variance. The package I used was fitdistrplus::fitdistr.
The codes I tried are as following:
dtnorm.trun1 <- function(x, mean, sd, a= 8.414596, b=Inf)
dnorm(x, mean, sd)/(pnorm(b,mean,sd)-pnorm(a,mean,sd))
ptnorm.trun1 <- function(x, mean, sd, a= 8.414596, b=Inf)
(pnorm(x, mean, sd)-pnorm(a,mean,sd))/(pnorm(b,mean,sd)-pnorm(a,mean, sd))
fit <- fitdistr(data, dtnorm.trun1, method="Nelder-Mead", start=list(mean=-24, sd=21))
I'm doing this practice for replication, so I expect I should be getting fitted mean of -24 and sd of 21, and the real data was truncated at 8.414596. With different starting values and different estimation method, I won't be getting my expected result. I'm really confused about this. Thank you in advance for any suggestion and advise.
r
I am trying to fit a truncated normal distribution to a data, however my problem is I only have top tail of the data/distribution (and I wouldn't know what percentile they are because I dont know about the real distribution's mean and variance yet), by which I want to construct back the truncated normal distribution and get it's estimated mean and variance. The package I used was fitdistrplus::fitdistr.
The codes I tried are as following:
dtnorm.trun1 <- function(x, mean, sd, a= 8.414596, b=Inf)
dnorm(x, mean, sd)/(pnorm(b,mean,sd)-pnorm(a,mean,sd))
ptnorm.trun1 <- function(x, mean, sd, a= 8.414596, b=Inf)
(pnorm(x, mean, sd)-pnorm(a,mean,sd))/(pnorm(b,mean,sd)-pnorm(a,mean, sd))
fit <- fitdistr(data, dtnorm.trun1, method="Nelder-Mead", start=list(mean=-24, sd=21))
I'm doing this practice for replication, so I expect I should be getting fitted mean of -24 and sd of 21, and the real data was truncated at 8.414596. With different starting values and different estimation method, I won't be getting my expected result. I'm really confused about this. Thank you in advance for any suggestion and advise.
r
r
edited Nov 21 at 22:39
asked Nov 21 at 21:09
C.Dm
11
11
2
This is probably a better question for Cross Validated since you seem to be concerned with statistical estimation rather than programming.
– MrFlick
Nov 21 at 21:14
@MrFlick thank you for editing and the suggestion, I will post the question there too. But I also was wondering is it because I understood this package incorrectly or use it wrong..
– C.Dm
Nov 21 at 21:56
add a comment |
2
This is probably a better question for Cross Validated since you seem to be concerned with statistical estimation rather than programming.
– MrFlick
Nov 21 at 21:14
@MrFlick thank you for editing and the suggestion, I will post the question there too. But I also was wondering is it because I understood this package incorrectly or use it wrong..
– C.Dm
Nov 21 at 21:56
2
2
This is probably a better question for Cross Validated since you seem to be concerned with statistical estimation rather than programming.
– MrFlick
Nov 21 at 21:14
This is probably a better question for Cross Validated since you seem to be concerned with statistical estimation rather than programming.
– MrFlick
Nov 21 at 21:14
@MrFlick thank you for editing and the suggestion, I will post the question there too. But I also was wondering is it because I understood this package incorrectly or use it wrong..
– C.Dm
Nov 21 at 21:56
@MrFlick thank you for editing and the suggestion, I will post the question there too. But I also was wondering is it because I understood this package incorrectly or use it wrong..
– C.Dm
Nov 21 at 21:56
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- 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.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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.
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%2fstackoverflow.com%2fquestions%2f53420503%2festimate-a-truncated-normal-distribution-with-only-top-tail-of-data-of-that-dist%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
2
This is probably a better question for Cross Validated since you seem to be concerned with statistical estimation rather than programming.
– MrFlick
Nov 21 at 21:14
@MrFlick thank you for editing and the suggestion, I will post the question there too. But I also was wondering is it because I understood this package incorrectly or use it wrong..
– C.Dm
Nov 21 at 21:56