2014年亚太杯APMCM数学建模大赛B题如何评价微信公众号求解全过程文档及程序

news2024/11/27 16:42:02

2014年亚太杯APMCM数学建模大赛

B题 如何评价微信公众号

原题再现

  微信是腾讯公司推出的是一款跨平台的通讯工具。微信公众平台,是用户利用公众账号进行自媒体活动,简单来说就是进行一对多的媒体性的行为活动,如商家通过申请公众微信服务号通过二次开发,如对接微信会员云营销系统展示商家微官网、微会员、微推送、微支付、微活动,微报名、微分享、微名片等,已经形成了一种主流的线上线下微信互动营销方式。
  值得注意的是, 微信每天允许公号向受众群发 1 条消息, 而只有极少数公号会每天都把这一次群发用掉。大多数公号都是基于自身话题领域,根据自己的内容定位,或推送他们认为值得受众关注的重要新闻, 或推送受众可能更容易感兴趣的趣味性内容。
  微信公众平台包括不同领域的各种账号,分析这些平台运营是否有效,是否能够在微时代更好地运用自己成为了各大企业思考的问题。请建立数学模型完成以下问题:
  1、查找相关资料分析微信公众帐号的领域,建立模型,预测不同领域的公众帐号数量的增长趋势。
  2、请建立数学模型分析不同领域的微信帐号运营是否有效,说明你的数学模型的优缺点。
  3、假如给你一个“数学建模”的微信帐号,你该如何运营,给出方案并预测关注量增长趋势。

整体求解过程概述(摘要)

  本文的主要目的是建立数学模型来预测不同领域的公众账户的增长趋势,并评估网络聊天平台是否有效运行。
  任务1。为了预测网络聊天在不同领域的上升趋势。首先,我们选择了在公共网络聊天账户中具有代表性的四个公共账户信息领域,即教育、政府、媒体和网络。其次,我们使用了这些字段的编号信息并对其进行了处理。最后,在GM(1,1)模型的基础上进行了改进,建立了DGM(2,1)模型。此外,我们还计算了四个不同领域的误差合理性C 0.43、0.42、0.53、0.61和误差概率P 0.89、0.86、0.75、0.88。我们发现DGM(2,1)模型在预测网络聊天在不同领域的增长趋势方面优于GM(1,1)。
  任务2。为了评估网络聊天用户是否有效地操作他们的平台,我们建立了将结构方程与综合评估方法相结合的模型来解决这个问题。我们选取了政府、教育、媒体、网站和名人五个不同的领域来测试该模型。该模型的结果表明,教育和名人领域的用户非常有效地管理他们的公共网络聊天账户,而公共账户在其他三个领域的效果并不好。
  任务3。将任务1和任务2的结果与任务3的第一部分联系起来,我们列出了一些数学模型的公共网络聊天账户的运营策略,发现关心网络聊天问题的人数符合创新的扩散理论。为了给出运营账户的策略并预测用户的增长趋势,我们首先将其定位为订阅,然后参考网络聊天公共教育部门号码计划的理想运营结果来制定我们的策略:每天发送一条消息;发送方式有单图和多图以及链接到其他网站的视频;推送内容分别来自互动活动、联盟、广告等。;自定义菜单由多级菜单组成;通过对网络聊天用户增长模式的研究,得出网络聊天用户的增长趋势可以用创新扩散曲线来描述。因此,我们设计了一个计划,以创新的扩散理论为基础,预测有多少人会关注数学模型论坛。

模型假设:

  (1) 我们收集的所有数据都是完全正确的,能够反映事实。

  (2) 不同领域的内部圈子存在公平竞争

  (3) 所有公共网络聊天帐户的用户都不会将消息发布到他们不属于的字段。

  (4) 每个用户在自己的字段中只应用一个帐户,而不会在其他字段中注册另一个帐户。

  (5) 并非所有用户都取消了他们的帐户。

问题分析:

  任务1:
  我们需要建立一个数学模型来预测不同领域对应的公众账户的增长趋势。因为这个预测是短期预测,我们收集的数据是有限的。众所周知,灰色系统预测的结果是相对稳定的,该预测不仅适用于大量数据,也适用于少数数据。我们对GM(1,1)进行了一些改进,并建立了DGM(2,1)模型来预测公共账户的数量。我们选择了四个不同的域来测试我们的模型,即,在建模过程中,我们需要计算误差合理性C和误差概率来测试模型,我们在四个域中分别计算误差合理化C 0.43、0.42、0.53、0.61,误差概率P 0.89、0.86、0.75、0.88。我们发现DGM(2,1)模型在预测网络聊天在不同领域的增长趋势方面优于GM(1,1)。

  任务2:
  为了深入评估用户在特定领域的运营策略的有效性,我们需要从账户用户和普通人的角度来考虑这个问题。我们认为粉丝数量、被观看次数、被收集次数和传播次数是普通人的因素(外部因素),并将用户的运营策略视为用户的因素(内部因素)。我们采用结构方程和综合评价方法构造组合来解决问题。我们建立的模型求解的结果符合物理事实。教育和名人是吸引大多数手机用户(年轻人)网络聊天的两个领域。

  任务3:
  这一部分需要制定一个管理公共网络聊天账户的计划,用于数学建模,以及预测关心它的人数的方法。很明显,我们需要根据任务1和任务2的结果给出可行的计划。同时,这个问题属于开放的范畴。为了给出账号的运营策略,我们做了大量的研究,并借鉴了最有效的网络聊天公共频道的运营策略,首先给出了“数学建模”公共频道的定位,然后从时间和频率、发送方式、内容和自定义菜单等方面分别设计了运行策略。为了预测“数学建模“公共频道用户的增长趋势,我们对网络聊天用户的增长态势进行了大量的研究。

模型的建立与求解整体论文缩略图

在这里插入图片描述

全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:

部分程序如下:
import math
import random
random.seed(0)
def rand(a,b): #随机函数
    return (b-a)*random.random()+a
 
def make_matrix(m,n,fill=0.0):#创建一个指定大小的矩阵
    mat = []
    for i in range(m):
        mat.append([fill]*n)
    return mat
 
#定义sigmoid函数和它的导数

def sigmoid(x):
    return 1.0/(1.0+math.exp(-x))
def sigmoid_derivate(x):
    return x*(1-x) #sigmoid函数的导数
 
class BPNeuralNetwork:
    def __init__(self):#初始化变量
        self.input_n = 0
        self.hidden_n = 0
        self.output_n = 0
        self.input_cells = []
        self.hidden_cells = []
        self.output_cells = []
        self.input_weights = []
        self.output_weights = []
        self.input_correction = []
        self.output_correction = []
    #三个列表维护:输入层,隐含层,输出层神经元
    def setup(self,ni,nh,no):
        self.input_n = ni+1 #输入层+偏置项
        self.hidden_n = nh  #隐含层
        self.output_n = no  #输出层
 
        #初始化神经元
        self.input_cells = [1.0]*self.input_n
        self.hidden_cells= [1.0]*self.hidden_n
        self.output_cells= [1.0]*self.output_n
 
        #初始化连接边的边权
        self.input_weights = make_matrix(self.input_n,self.hidden_n) #邻接矩阵存边权:输入层->隐藏层
        self.output_weights = make_matrix(self.hidden_n,self.output_n) #邻接矩阵存边权:隐藏层->输出层
 
        #随机初始化边权:为了反向传导做准备--->随机初始化的目的是使对称失效
        for i in range(self.input_n):
            for h in range(self.hidden_n):
                self.input_weights[i][h] = rand(-0.2 , 0.2) #由输入层第i个元素到隐藏层第j个元素的边权为随机值
 
        for h in range(self.hidden_n):
            for o in range(self.output_n):
                self.output_weights[h][o] = rand(-2.0, 2.0) #由隐藏层第i个元素到输出层第j个元素的边权为随机值
        #保存校正矩阵,为了以后误差做调整
        self.input_correction = make_matrix(self.input_n , self.hidden_n)
        self.output_correction = make_matrix(self.hidden_n,self.output_n)
 
    #输出预测值
    def predict(self,inputs):
        #对输入层进行操作转化样本
        for i in range(self.input_n-1):
            self.input_cells[i] = inputs[i] #n个样本从0~n-1
        #计算隐藏层的输出,每个节点最终的输出值就是权值*节点值的加权和
        for j in range(self.hidden_n):
            total = 0.0
            for i in range(self.input_n):
                total+=self.input_cells[i]*self.input_weights[i][j]
            # 此处为何是先i再j,以隐含层节点做大循环,输入样本为小循环,是为了每一个隐藏节点计算一个输出值,传输到下一层
            self.hidden_cells[j] = sigmoid(total) #此节点的输出是前一层所有输入点和到该点之间的权值加权和
 
        for k in range(self.output_n):
            total = 0.0
            for j in range(self.hidden_n):
                total+=self.hidden_cells[j]*self.output_weights[j][k]
            self.output_cells[k] = sigmoid(total) #获取输出层每个元素的值
        return self.output_cells[:]  #最后输出层的结果返回
 
    #反向传播算法:调用预测函数,根据反向传播获取权重后前向预测,将结果与实际结果返回比较误差
    def back_propagate(self,case,label,learn,correct):
        #对输入样本做预测
        self.predict(case) #对实例进行预测
        output_deltas = [0.0]*self.output_n #初始化矩阵
        for o in range(self.output_n):
            error = label[o] - self.output_cells[o] #正确结果和预测结果的误差:0,1,-1
            output_deltas[o]= sigmoid_derivate(self.output_cells[o])*error#误差稳定在0~1内
 
        #隐含层误差
        hidden_deltas = [0.0]*self.hidden_n
        for h in range(self.hidden_n):
            error = 0.0
            for o in range(self.output_n):
                error+=output_deltas[o]*self.output_weights[h][o]
            hidden_deltas[h] = sigmoid_derivate(self.hidden_cells[h])*error
        #反向传播算法求W
        #更新隐藏层->输出权重
        for h in range(self.hidden_n):
            for o in range(self.output_n):
                change = output_deltas[o]*self.hidden_cells[h]
                #调整权重:上一层每个节点的权重学习*变化+矫正率
                self.output_weights[h][o] += learn*change + correct*self.output_correction[h][o]
        #更新输入->隐藏层的权重
        for i in range(self.input_n):
            for h in range(self.hidden_n):
                change = hidden_deltas[h]*self.input_cells[i]
                self.input_weights[i][h] += learn*change + correct*self.input_correction[i][h]
                self.input_correction[i][h] =  change
        #获取全局误差
        error = 0.0
        for o in range(len(label)):
            error = 0.5*(label[o]-self.output_cells[o])**2 #平方误差函数
        return error
 
    def train(self,cases,labels,limit=10000,learn=0.05,correct=0.1):
        for i in range(limit): #设置迭代次数
            error = 0.0
            for j in range(len(cases)):#对输入层进行访问
                label = labels[j]
                case = cases[j]
                error+=self.back_propagate(case,label,learn,correct) #样例,标签,学习率,正确阈值
 
    def test(self): #学习异或
        cases = [
            [0, 0],
            [0, 1],
            [1, 0],
            [1, 1],
        ] #测试样例
        labels = [[0], [1], [1], [0]] #标签
        self.setup(2,5,1) #初始化神经网络:输入层,隐藏层,输出层元素个数
        self.train(cases,labels,10000,0.05,0.1) #可以更改
        for case in  cases:
            print(self.predict(case))
 
if __name__ == '__main__':
    nn = BPNeuralNetwork()
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1172883.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

马斯克的X.AI平台即将发布的大模型Grōk AI有哪些能力?新消息泄露该模型支持2.5万个字符上下文!

本文原文来自DataLearnerAI官方网站: 马斯克的X.AI平台即将发布的大模型Grōk AI有哪些能力?新消息泄露该模型支持2.5万个字符上下文! | 数据学习者官方网站(Datalearner)https://www.datalearner.com/blog/1051699114783001 马斯克透露xAI…

Leetcode刷题详解——求根节点到叶节点数字之和

1. 题目链接:129. 求根节点到叶节点数字之和 2. 题目描述: 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1…

Zabbix如何监控腾讯云NAT网关

1、NAT网关介绍 NAT 网关(NAT Gateway)是一种支持 IP 地址转换服务,提供网络地址转换能力,主要包括SNAT(Source Network Address Translation,源网络地址转换)和DNAT(Destination N…

chrome好用的阅读工具【推荐】

1、插件名称:Circle 下载地址: circlereader.com/ Circle 可以提取网页中的内容信息,并进行重新排版,是浏览文章、新闻等内容的神器 看各大网站VIP : 2、油猴: 下载地址: https://www.tampe…

【2024最新】PE工具箱【下载安装】零基础到大神【附下载链接】

下载链接:点这里 1.PE (Portable Executable) 工具箱通常用于处理Windows可执行文件和动态链接库(DLL)的二进制文件格式。这些工具对于进行逆向工程、软件分析和系统维护等任务非常有用。以下是PE工具箱的一些常见功能和用法: 查…

汽车标定技术(四)--问题分析:多周期测量时上位机显示异常

目录 1.问题现象 2.数据流分析 ​​​​3.代码分析 3.1 AllocDAQ 3.2 AllocOdt 3.3 AllocOdtEntry 4.根因分析及解决方法 4.1 根因分析 4.2 解决方案 1.问题现象 在手撸XCP代码时, DAQ的实现是一大头痛的事情。最初单周期实现还好一点,特别是…

为你整理了一份抖音小店的高分打造指南

抖音小店是一种在抖音平台上运营的电商店铺。通过打造一个高分店铺,可以吸引更多用户关注和购买,提升销售业绩。下面四川不若与众将介绍一些打造高分店铺的方法。 首先,店铺名称和简介要吸引眼球。店铺名称应该简洁明了,容易被记住…

Java EE进阶2

包如果下载不下来怎么办? 1,确认包是否存在 2.如果包存在就多下载几次 3.如果下载了很多次都下载不下来,看看是不是下面几步出现了问题? 1)是否配置了国内源 settings.xml 2)目录是否为全英文,存在中文的话就修改路径 3)删除本地仓库的 jar 包,重新下载(可能由于网络的原…

线扫相机DALSA--常见问题六:PoCL供电设置

第一步:Connect power to the board J7 connector(J7供电) 第二步:Use CamExpert to enable the PoCL feature in the the Basic Timing category(打开PoCL)

Appium 移动端自动化测试,触摸(TouchAction) 与多点触控(MultiAction)

一、触摸 TouchAction 在所有的 Appium 客户端库里,TouchAction 触摸对象被创建并被赋予一连串的事件。 规范里可用的事件有: * 短按(press) * 释放(release) * 移动到(moveTo) * 点击(tap) * 等待(wait) * 长按(longPress) * 取消(cancel) * 执行(per…

将Series中每个值v替换为v在Series中升序排列时的位置值s.rank()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将Series中每个值v 替换为v在Series中 升序排列时的位置值 s.rank() 选择题 下列代码执行三次排名索引a的名次值分别为? import pandas as pd s pd.Series([3,2,0,3],index list…

Java高频面试题——Java基础篇

java基本数据类型及对应的字节数?什么是自动拆装箱?int与integer的区别?项目中如何使用? 1.java基本数据类型及对应的字节数? java总共有8中基本数据类型,整型4种,浮点型2种,字符类…

【微服务】mysql + elasticsearch数据双写设计与实现

目录 一、前言 二、为什么使用mysqles双写 2.1 单用mysql的问题 2.2 为什么不直接使用es 2.2.1 非关系型表达 2.2.2 不支持事务 2.2.3 多字段将造成性能低下 三、mysqles双写方案设计要点 3.1 全新设计 VS 中途调整架构 3.2 全表映射 VS 关键字段存储 3.2.1 最大程度…

自定义类型联合体

目录 联合体联合体类型的声明联合体的特点相同成员的结构体和联合体对比联合体大小的计算联合体的应用联合的一个练习 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 🐒🐒🐒 个人主页 🥸🥸&#x1f…

破解密码 LLM(代码LLM如何从 RNN 发展到 Transformer)

舒巴姆阿加瓦尔 一、说明 近年来,随着 Transformer 的引入,语言模型发生了显着的演变,它彻底改变了我们执行日常任务的方式,例如编写电子邮件、创建文档、搜索网络甚至编码方式。随着研究人员在代码智能任务中应用大型语言模型&am…

4K Video Downloader Pro v4.28.0(视频下载器)

4K Video Downloader Pro是一款专业的视频下载软件,支持从YouTube、Vimeo、Facebook、Instagram、TikTok等主流视频网站下载高质量的4K、HD和普通视频。它的操作流程简单,只需复制视频链接并粘贴到软件中即可开始下载。此外,该软件还提供了多…

校园招聘系统

校园管理系统 公共模块学生端游客端企业联系人端校内管理员端超级管理员端企业端 公共模块 登录 用户可以通过验证码、账号密码进行登录。 个人中心 学生端 学生主要为查看招聘信息以及投递等。 首页 简历详情投递 双选会公司详情 公告通知 学生端主要为这些等等&#xf…

线扫相机-TEK(埃科)相机平场矫正详细步骤

采集卡模式: 现场要求 (1) 采集卡连续采集相机图像,并正常显示。 (2) 光源控制在正常工作亮度,使画面亮度不要过低也不要饱和。 (3) 调整相机使画面偏离成像位置,形成虚焦。 (4) 相机拍摄物面使用白纸,调节曝光时间使整…

【鸿蒙软件开发】ArkUI之容器组件Counter(计数器组件)、Flex(弹性布局)

文章目录 前言一、Counter1.1 子组件1.2 接口1.3 属性1.4 事件 1.5 示例代码二、Flex弹性布局到底是什么意思? 2.1 权限列表2.2 子组件2.3 接口参数 2.4 示例代码示例代码1示例代码2 总结 前言 Counter容器组件:计数器组件,提供相应的增加或…

基础课21——知识库管理

1.知识库的概念、特点与功能 智能客服中的知识库是一个以知识为基础的系统,可以明确地表达与实际问题相对应的知识,并构成相对独立的程序行为主体,有利于有效、准确地解决实际问题。它储存着机器人对所有信息的认知概念和理解,这…