從0開始學習R語言--Day12--泊松分布

今天我們來看一個很經典的回歸模型:泊松分布。

泊松分布

我們一般會把泊松分布用于預測問題,比如想知道成年人每天接到的騷擾電話次數,醫院每天的急診病人等。但在一些方面,跟我們想的會有出入。例如你不能將其應用在預測下周你的體重會是多少,看起來同是預測問題,但其背后隱含了數據的關系。

在預測每天接到的騷擾電話次數事件時,昨天接到的電話次數,跟今天的是沒有關系的,急診病人數量也一樣,但如果是預測下周一個人的體重,那么其實會發現,下周的體重會跟下周前一天1有關系,在一個特定的區間內浮動,類似的,也就能推導到一周前。當然,如果要把泊松分布應用在預測急診病人的數量,那么就需要特殊的前置條件,比如最近爆發了傳染性較強的病毒,所以急診病人數量會在一段時間內維持在一個比較高的數值。

所以,使用泊松分布的關鍵就在于,判斷每個數據點之間是否有聯系,從概率學上來講,就是每一個數據點,都代表了一次獨立概率事件,他們之間是互不影響的,只要滿足這種特點,就能運用泊松分布,當然也不要忽略一些數值條件(比如泊松分布要求Y是整數),你不能說預測班里身高超過1米8的人有10.5個吧。

下面我們用一段實例來說明:

library(tidyverse)
library(ggplot2)set.seed(123)  # 固定隨機種子,確保結果可復現
n <- 500       # 樣本量# 生成自變量:天氣質量(weather,0~10)和是否促銷(promotion,0/1)
weather <- runif(n, min = 0, max = 10)
promotion <- rbinom(n, size = 1, prob = 0.3)  # 30%的日期有促銷# 生成因變量:每日冰淇淋銷量(sales),使用泊松分布
true_beta <- c(1.5, 0.2, 0.8)  # 真實系數:截距、weather、promotion
log_lambda <- true_beta[1] + true_beta[2] * weather + true_beta[3] * promotion
sales <- rpois(n, lambda = exp(log_lambda))  # 生成泊松分布的計數數據# 構建數據框
df <- data.frame(sales, weather, promotion)
# 使用 glm() 擬合泊松回歸模型
model <- glm(sales ~ weather + promotion, family = poisson(link = "log"),  # 指定泊松分布和對數鏈接data = df)# 查看模型摘要
summary(model)# 新數據預測
new_data <- data.frame(weather = c(8, 3),      # 天氣8分 vs 3分promotion = c(1, 0)      # 有促銷 vs 無促銷
)# 預測銷量
pred_sales <- predict(model, newdata = new_data, type = "response")
pred_sales  # 輸出預測值# 檢查是否過離散(Overdispersion)
library(AER)
dispersiontest(model)# 天氣 vs 銷量(按促銷分組)
ggplot(df, aes(x = weather, y = sales, color = factor(promotion))) +geom_point(alpha = 0.6) +geom_smooth(method = "glm", method.args = list(family = poisson), se = FALSE) +labs(title = "天氣和促銷對冰淇淋銷量的影響",x = "天氣評分", y = "銷量",color = "促銷(1=是)") +theme_minimal()

輸出:

            Estimate Std. Error z value Pr(>|z|)    
(Intercept) 1.508115   0.028471   52.97   <2e-16 ***
weather     0.200169   0.003801   52.66   <2e-16 ***
promotion   0.787791   0.020243   38.92   <2e-16 ***1         2 
49.267146  8.236879 

從輸出中我們可以得知,當天氣達到8分且有促銷時,預測的銷量為49.2;若天氣只有3分且沒有促銷時,預測的銷量為8.2。而且我們能觀察到天氣和促銷的P值小于0.05,這說明這兩個變量都對銷量有很大的影響。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/83062.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/83062.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/83062.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

k8s中kubeSphere的安裝使用+阿里云私有鏡像倉庫配置完整步驟

一、實驗目的 1、掌握kubeSphere 的安裝部署 2、掌握kubesphere 使用外部鏡像倉庫&#xff1b; 2、熟悉圖像化部署任務&#xff1a;產生pod---定義服務--驗證訪問 本次實驗旨在通過 KubeSphere 平臺部署基于自定義鏡像&#xff08;nginx:1.26.0 &#xff09;的有狀態副本集…

STM32單片機簡介

1.基本情況 STM32單片機正如其名是32位微控制器&#xff0c;相較于51單片機的8位微控制器&#xff0c;性能會更好&#xff0c;但學習難度也會提高。 在stm32單片機中內核時核心部分&#xff0c;是ARM公司設計的&#xff0c;其在stm32單片機中占據極為重要的地位。(程序指令的…

GESP】C++一級考試大綱知識點梳理(1)

計算機基礎和操作系統 GESP C++一級官方考試大綱中,除可通過編碼掌握的Dev C++開發工具的使用和C++編程基礎語法知識外(考綱2-13),還涉及計算機基礎知識的要求(考綱1): (1)了解計算機的基本構成(CPU,內存,I/O 設備等) ,了解 Windows、Linux等操作系統基本概念和常…

淺談 JavaScript 性能優化

文章目錄 概要一、代碼執行優化1. 減少全局變量訪問2. 避免不必要的計算3. 優化循環操作 二、內存管理優化1. 減少內存泄漏2. 對象池與內存復用 三、渲染性能優化1. 避免強制同步布局2. 減少 DOM 操作3. 優化動畫與合成 四、網絡加載優化1. 代碼壓縮與 Tree Shaking2. 按需加載…

mongodb nosql數據庫筆記

MongoDB 簡介 MongoDB 是一個開源的 NoSQL 數據庫&#xff0c;采用文檔存儲模型&#xff08;BSON 格式&#xff0c;類似 JSON&#xff09;&#xff0c;支持高靈活性、水平擴展和高性能的數據操作。與傳統關系型數據庫&#xff08;如 MySQL&#xff09;不同&#xff0c;MongoDB…

Flutter實現不規則瀑布流布局拖拽重排序

因為業務&#xff0c;所以需要用flutter去實現一種不規則圖形的瀑布流&#xff0c;但是同時需要支持拖拽并重新排序。效果類似如下。 查詢過現有的插件&#xff0c;要么是僅支持同樣大小的組件進行排序&#xff0c;要么就是動畫效果不是很滿意&#xff0c;有點死板&#xff0c;…

微信小程序(uniapp)實現騰訊云 IM 消息撤回

uniapp 實現騰訊云 IM 消息撤回功能實戰指南 一、功能實現原理 騰訊云 IM 的消息撤回功能通過 消息修訂&#xff08;Message Revision&#xff09; 機制實現&#xff0c;核心流程如下&#xff1a; 發送方調用撤回 API 刪除指定消息云端生成撤回通知消息&#xff08;類型為 T…

AI入門示例

市面上有很多AI大模型&#xff0c;這里以 智譜的大模型 為示例 1.先要注冊智譜AI開放平臺 2.注冊成功后&#xff0c;會贈送3個月的免費額度&#xff0c;如下 3.然后去控制臺&#xff0c;創建一個API KEY 4.接著就可以開始寫代碼了 提前導入包&#xff1a; openai 示例1&…

【數據結構】單鏈表練習

1.鏈表的中間節點 https://leetcode.cn/problems/middle-of-the-linked-list/description/ 用快慢指針來解決 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* middleNode(struct ListNode* he…

嘗鮮純血鴻蒙,華為國際版本暫時不支持升級。如mateX6 國際版?為什么不支持?什么時候支持?

一&#xff1a;mateX6 國際版支持鴻蒙嗎&#xff1f; 不支持 二&#xff1a;華為國際版支持鴻蒙嗎&#xff1f; 不支持 三&#xff1a;華為國際版什么時候支持&#xff1f; 2025年預期可以支持。請耐心等待。 三&#xff1a;國際版為什么不支持&#xff1f; EMUI 采用AO…

Spring Boot的啟動流程,以及各個擴展點的執行順序

目錄 1. 初始化階段執行順序 1.1 Bean的構造方法&#xff08;構造函數&#xff09; 1.2 PostConstruct 注解方法 1.3 InitializingBean 的 afterPropertiesSet() 1.4 Bean(initMethod "自定義方法") 2. 上下文就緒后的擴展點 2.1 ApplicationContext 事件監聽…

刀具問題討論

1 刀具的問題概述 問題描述 一道工序用自動化車床連續加工某種零件&#xff0c;由于刀具損壞等原因該工序會出現故障&#xff0c;其中刀具損壞故障占95%, 其它故障僅占 5%。工序出現故障是完全隨機的, 假定在生產任一零件時出現故障的機會均相同。工作人員通過檢查零件來確定…

vite配置一個css插件

vite.config.js的plugins執行函數 該例子只是替換一些css,具體內容不重要,主要看形參的運用 // vite-plugin-css.js export default function cssPlugin() {return {name: vite-plugin-css-post, // 插件的名字&#xff0c;Vite 插件必須有名字enforce: post, // 設定插件執…

?1.1.1 按位與運算替代求余運算優化場景

在計算機編程中&#xff0c;使用按位與運算&#xff08;&&#xff09;替代求余運算&#xff08;%&#xff09;可以提高效率的特殊場景是&#xff1a;當除數是 2 的整數次冪&#xff08;即 ( b 2^n )&#xff0c;其中 ( n ) 為自然數&#xff09;時。例如&#xff0c;( b …

CentOS 7 環境中部署 LNMP(Linux + Nginx + MySQL 5.7 + PHP)

在 CentOS 7 環境中部署 LNMP&#xff08;Linux Nginx MySQL 5.7 PHP&#xff09; 環境的詳細步驟如下。此方案確保各組件版本兼容&#xff0c;并提供完整的配置驗證流程。 1. 更新系統 sudo yum update -y 2. 安裝 MySQL 5.7 2.1 添加 MySQL 官方 YUM 倉庫 由于MySQL并不…

UniApp微信小程序自定義導航欄實現

UniApp微信小程序自定義導航欄 在UniApp開發微信小程序時&#xff0c;頁面左上角默認有一個返回按鈕&#xff08;在導航欄左側&#xff09;&#xff0c;但有時我們需要自定義這個按鈕的樣式和功能&#xff0c;同時保持與導航欄中間的標題和右側膠囊按鈕&#xff08;藥丸屏&…

Java大師成長計劃之第35天:未來展望與個人總結

引言 作為一門歷史悠久的編程語言&#xff0c;Java自1995年問世以來&#xff0c;經歷了多個版本的迭代與演進&#xff0c;依然在當今技術生態中占據著重要地位。從早期的Java SE、Java EE到后來的Java Spring框架&#xff0c;再到現代的微服務架構與云原生應用&#xff0c;Jav…

Ubuntu開機自動運行Docker容器中的Qt UI程序

Ubuntu開機自動運行Docker容器中的Qt UI程序 引言為什么需要這樣配置?解決方案概覽詳細實現步驟1. 創建容器啟動腳本2. 創建系統服務3. 配置自動登錄和顯示設置常見問題解決方案1. 程序無法顯示(X11權限問題)2. 分辨率設置不生效3. 服務啟動失敗安全注意事項結語附錄:完整文…

Scratch節日 | 龍舟比賽 | 端午節

端午節快樂&#xff01; 這款專為孩子們打造的Scratch游戲——《龍舟比賽》&#xff0c;讓你在掌控龍舟的競速中&#xff0c;沉浸式體驗中華傳統節日的魅力&#xff01; &#x1f3ae; 游戲亮點 節日氛圍濃厚&#xff1a;化身龍舟選手&#xff0c;在波濤洶涌的河流中展開刺激競…

(五)MMA(OpenTelemetry/Rabbit MQ/ApiGateway/MongoDB)

文章目錄 項目地址一、OpenTelemetry1.1 配置OpenTelemetry1. 服務添加2. 添加服務標識3. 添加請求的標識4. 添加中間價 二、Rabbit MQ2.1 配置Rabbit MQ1. docker-compose2. 添加Rabbit MQ的Connect String 2.2 替換成Rabbit MQ1. 安裝所需要的包2. 使用 三、API Gateways3.1 …