จอห์นฟ็อกซ์หนังสืออาสหายกับการถดถอยประยุกต์เป็น Ressource Rที่ดีในการสร้างแบบจำลองการถดถอยการประยุกต์ใช้กับ แพคเกจcarที่ฉันใช้ตลอดในคำตอบนี้คือแพ็คเกจที่แนบมาด้วย หนังสือเล่มนี้ยังมีเว็บไซต์ที่มีบทเพิ่มเติม
การแปลงการตอบสนอง (หรือที่รู้จักว่าตัวแปรขึ้นอยู่กับผลลัพธ์)
RlmboxCoxcarλfamily="yjPower"
boxCox(my.regression.model, family="yjPower", plotit = TRUE)
สิ่งนี้สร้างพล็อตเหมือนกับที่ต่อไปนี้:

λλ
ในการแปลงตัวแปรตามของคุณทันทีให้ใช้ฟังก์ชันyjPowerจากcarแพ็คเกจ:
depvar.transformed <- yjPower(my.dependent.variable, lambda)
lambdaλboxCox
สำคัญ:แทนที่จะเปลี่ยนตัวแปรที่ต้องอาศัยการบันทึกคุณควรพิจารณาให้พอดีกับ GLM กับลิงค์ล็อก นี่คือการอ้างอิงบางอย่างที่ให้ข้อมูลเพิ่มเติมคือ: ครั้งแรก , สอง , สาม ในการทำสิ่งนี้Rให้ใช้glm:
glm.mod <- glm(y~x1+x2, family=gaussian(link="log"))
ที่yเป็นตัวแปรขึ้นอยู่กับคุณและx1, x2ฯลฯ เป็นตัวแปรอิสระของคุณ
การแปลงตัวทำนาย
การเปลี่ยนแปลงของตัวทำนายเชิงบวกที่เข้มงวดสามารถประเมินได้โดยความเป็นไปได้สูงสุดหลังจากการเปลี่ยนแปลงของตัวแปรตาม ในการทำเช่นนั้นให้ใช้ฟังก์ชั่นboxTidwellจากcarแพ็คเกจ (สำหรับกระดาษต้นฉบับดูที่นี่ ) ใช้มันเหมือนที่: boxTidwell(y~x1+x2, other.x=~x3+x4). สิ่งสำคัญที่นี่คือตัวเลือกที่other.xระบุเงื่อนไขของการถดถอยที่จะไม่ถูกแปลง นี่จะเป็นตัวแปรเด็ดขาดทั้งหมดของคุณ ฟังก์ชันสร้างผลลัพธ์ของฟอร์มต่อไปนี้:
boxTidwell(prestige ~ income + education, other.x=~ type + poly(women, 2), data=Prestige)
Score Statistic p-value MLE of lambda
income -4.482406 0.0000074 -0.3476283
education 0.216991 0.8282154 1.2538274
incomeλincomeincomenew=1/incomeold−−−−−−−−√
อีกประการหนึ่งที่น่าสนใจมากโพสต์ในเว็บไซต์เกี่ยวกับการเปลี่ยนแปลงของตัวแปรอิสระที่เป็นคนนี้
ข้อเสียของการเปลี่ยนแปลง
1/y√λλ
การสร้างแบบจำลองความสัมพันธ์ที่ไม่เชิงเส้น
ทั้งสองวิธีมีความยืดหยุ่นมากทีเดียวที่จะความสัมพันธ์ที่ไม่เป็นเชิงเส้นพอดีมีหลายชื่อเศษส่วนและเส้นโค้ง เหล่านี้สามเอกสารมีการแนะนำที่ดีมากที่จะทั้งสองวิธี: ครั้งแรก , ครั้งที่สองและสาม นอกจากนี้ยังมีทั้งหนังสือRเกี่ยวกับพหุนามและเศษส่วน R แพคเกจmfpการดำเนินการหลายตัวแปรพหุนามเศษส่วน งานนำเสนอนี้อาจมีข้อมูลเกี่ยวกับพหุนามเศษส่วน เพื่อให้พอดีกับเส้นโค้งคุณสามารถใช้ฟังก์ชั่นgam(รุ่นเสริมทั่วไปดูที่นี่สำหรับการแนะนำที่ยอดเยี่ยมด้วยR) จากแพ็คเกจmgcvหรือฟังก์ชั่นns(เส้นโค้งธรรมชาติลูกบาศก์) และbs(ลูกบาศก์ B- เส้นโค้ง) จากแพ็คเกจsplines(ดูที่นี่สำหรับตัวอย่างของการใช้ฟังก์ชันเหล่านี้) การใช้gamคุณสามารถระบุตัวทำนายที่คุณต้องการให้พอดีกับการใช้เส้นโค้งโดยใช้s()ฟังก์ชั่น:
my.gam <- gam(y~s(x1) + x2, family=gaussian())
ที่นี่x1จะได้รับการติดตั้งโดยใช้เส้นโค้งและx2เป็นเส้นตรงในการถดถอยเชิงเส้นปกติ ภายในgamคุณสามารถระบุตระกูลการแจกจ่ายและฟังก์ชันลิงก์glmได้ ดังนั้นเพื่อให้พอดีกับรุ่นที่มีฟังก์ชั่นการเข้าสู่ระบบการเชื่อมโยงคุณสามารถระบุตัวเลือกfamily=gaussian(link="log")ในเช่นเดียวกับในgamglm
ดูที่โพสต์นี้จากเว็บไซต์