2014-07-09 3 views
1

현재 황토 회귀를 데이터 세트에 적용하려고합니다 (위도 분포의 바이오 매스). 나는 다음과 같은 코드를 사용 :황토 회귀 값이 음수 값이됩니다.

ggplot(data=test)+ 
    geom_point(aes(y=log10(value+1), x=lat, colour=variable), alpha=0.5)+ 
    stat_smooth(aes(y=log10(value+1), x=lat, colour=variable, fill=variable), size=1, alpha=0.1)+ 
    scale_y_continuous("Depth-integrated biomass (mgC.m-2)")+ 
    scale_x_continuous("Latitude", limits=c(-70, 80), breaks=seq(-70, 80, 10))+ 
    coord_flip()+ 
    theme_bw()+ 
    theme(legend.background = element_rect(colour = "black")) 

문제는 회귀 0을 통과하지를 강제 할 수있는 방법이 있나요 ... 내가 0 이하 값이없는 상태에서 회귀가 0 이하가 있다는 것입니다?를 "span"값을 변경하려고 시도했지만 더 좋지만 황토 곡선의 일부는 여전히 부정적입니다. Xlim = c (0, X)는 커브를 자르기 때문에 좋지 않았습니다.

감사합니다.

답변

2

황토 방법은 무제한 배포를 가정하므로 0에 가까운 데이터가 있으면 0보다 아래로 쉽게 갈 수 있습니다. 로그 배율을 조정하는 한 가지 옵션 (모델을 y- 값의 로그에 맞춘 다음 플롯팅에 대한 예측 값 등)

1

왜 y 값을 제한 하시겠습니까? 그러나 어느 쪽이든 xlim과 ylim은 기본 데이터 집합을 필터링하는 데만 사용되므로 문제가 해결되지 않습니다. 0 값을 피하는 또 다른 방법은 다른 모델을 사용하는 것입니다. 선형 회귀는 모든 관측 값이 양수이면 음수 값을 삽입하지 않아야합니다. 또는 로지스틱 회귀 분석과 같은 것이 데이터에 적합할까요?

데이터에 이러한 유형의 맞춤을 추가하는 것은 실제로는 매우 쉽습니다. 예를 들어 method = glmfamily = binomialstat_smooth 안에 추가하면됩니다.

관련 문제