여러분 모두에게,
고객이 내 독립 변수에 대해 가능한 값의 전체 범위에 걸쳐 자신의 모델 예측 및/또는 예측 구간에 대한 윤곽선을 그릴 수 있는지 묻고 있습니다.
R에서 가져옵니다(expand.grid 함수 사용). 여기서 점선은 하위 95% 예측 구간입니다(첨부 1).
그가 할 수 있었던 최선은 (그리고 나도) 첨부 파일 2이고, 간단히 말해서 그와 나는 점선을 가질 수 없는 곳입니다.(그래프와 함께 더미 데이터 세트도 있습니다)
커뮤니티에도 질문을 올렸다.
당신은 어떤 제안이 있습니까?
감사해요
안녕 @MarcoSalfi ,
expand.grid 함수는 Python용 Seaborn의 FacetGrid 또는 R의 ggplot2의 facet_grid 함수처럼 작동합니다. 기본적으로 공식이나 행렬로 공급되는 하나 이상의 요소의 가능한 모든 조합을 수행합니다. expand.grid 함수와 함께 사용되는 R 코드의 전체 라인은 무엇입니까? 플로팅 코드의 나머지 부분은 점선 상자로 밀도에 대한 플롯을 제공하는 것입니다.
안녕 마르코,
한 가지 옵션은 사용자가 탐색하고자 하는 가능성의 범위를 적절하게 커버하기 위해 공간 채우기 디자인을 만든 다음 공간 채우기 디자인의 모든 조합에 대한 공식을 평가하는 것입니다.
그러나 플롯을 생성하여 그가 얻고자 하는 정보가 무엇인지 묻고 싶습니다. 더 나은 대안은 수식 또는 회귀 모델의 프로파일러 그래프일 수 있습니다(외삽 제어가 있거나 없는 경우). 프로파일러는 이 문제의 고차원 복잡성을 길들이는 훨씬 더 좋은 방법입니다. 경험적 모델을 사용할 때 X 공간(또는 설계 공간) 범위를 벗어나 외삽하는 위험에 대해 일반적인 경고를 주고 싶을 수 있습니다.
말콤
안녕 @Chris_Kirchberg , 고객이 사용한 코드를 따릅니다.
## 변수 변환
log.AlphaLISA = log(AlphaLISA)
로그.토끼 = 로그(토끼.Ab)
log.mouse = log(Mouse.Ab)
log.용해물 = log(용해물)
적합 = lm( Log.AlphaLISA ~ Ab*(log.rabbit+log.mouse+log.lysate)^2 +
Ab*I(log.rabbit^2) + Ab*I(log.mouse^2) +
Ab*I(log.lysate^2) )
d.그리드 = 확장.그리드(
Ab=c("R1-M1", "R1-M2", "R2-M1", "R2-M2", "R3-M1", "R3-M2"),
log.rabbit=seq(log(0.3), log(3), 길이=5),
log.mouse=seq(log(0.3), log(3), 길이=10),
log.lysate=seq(log(0.25), log(2), 길이=10)
)
## 95% 낮은 예측 간격
d.그리드 = cbind(d.그리드,
예측(적합, newdata=d.grid, 간격="예측", 수준=0.9))
d.grid[,"lower95p"] = exp(d.grid[,"lwr"])
고마워 말콤,
논의는 이 방향으로 가고 있다. 실제로 고객은 다른 옵션에도 열려 있습니다.