WO2014103560A1 - 分析装置、分析プログラム、分析方法、推定装置、推定プログラム、及び、推定方法。 - Google Patents

分析装置、分析プログラム、分析方法、推定装置、推定プログラム、及び、推定方法。 Download PDF

Info

Publication number
WO2014103560A1
WO2014103560A1 PCT/JP2013/081118 JP2013081118W WO2014103560A1 WO 2014103560 A1 WO2014103560 A1 WO 2014103560A1 JP 2013081118 W JP2013081118 W JP 2013081118W WO 2014103560 A1 WO2014103560 A1 WO 2014103560A1
Authority
WO
WIPO (PCT)
Prior art keywords
analysis
unit
event
periods
state
Prior art date
Application number
PCT/JP2013/081118
Other languages
English (en)
French (fr)
Inventor
力矢 高橋
Original Assignee
インターナショナル・ビジネス・マシーンズ・コーポレーション
日本アイ・ビー・エム株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インターナショナル・ビジネス・マシーンズ・コーポレーション, 日本アイ・ビー・エム株式会社 filed Critical インターナショナル・ビジネス・マシーンズ・コーポレーション
Priority to JP2014554237A priority Critical patent/JP6072078B2/ja
Priority to US14/655,635 priority patent/US10121156B2/en
Publication of WO2014103560A1 publication Critical patent/WO2014103560A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management

Definitions

  • the present invention relates to an analysis device, an analysis program, an analysis method, an estimation device, an estimation program, and an estimation method.
  • a replacement unit that replaces each event in an impulse-like event sequence with a plurality of rectangular pulses, and an event sequence generated by the replacement of at least one change point of the plurality of rectangular pulses.
  • a division unit that divides by time, a state vector generation unit that generates a state vector corresponding to a plurality of rectangular pulse states, and a plurality of states corresponding to a plurality of periods
  • An analysis device including an analysis unit that performs a Poisson regression analysis using a vector, an analysis method using the analysis device, and an analysis program that causes a computer to function as the analysis device are provided.
  • an estimation device for estimating a response to an event sequence based on an analysis result by the analysis device, wherein each event in the input event sequence is replaced with a plurality of rectangular pulses.
  • a division unit that divides the event sequence generated by replacement at the time of at least one change point of the plurality of rectangular pulses, and a plurality of rectangular pulses corresponding to each of the plurality of divided periods.
  • An estimation device including an estimation unit for estimating the number of times, an estimation method using the estimation device, and a computer as the estimation device It provides an estimate program to function.
  • the structure of the analyzer 10 and the estimation apparatus 20 of this embodiment is shown.
  • the flow of the analysis process of the analyzer 10 of this embodiment is shown.
  • An example of an event history input by the replacement unit 102 is shown.
  • the individual response approximated by a plurality of rectangular pulses is shown.
  • generates is shown.
  • segments is shown.
  • An example of a state vector generated by the state vector generation unit 106 is shown.
  • a specific example of a state vector generated by the state vector generation unit 106 is shown.
  • An example of the weight vectors w 1 to m stored in the storage unit 116 is shown.
  • the flow of the estimation process of the estimation apparatus 20 of this embodiment is shown. 2 shows an example of a hardware configuration of a computer 1900.
  • FIG. 1 shows the configuration of the analysis device 10 and the estimation device 20 of this embodiment.
  • the analysis apparatus 10 analyzes an event history in which an impulse-like event for an individual and an individual's reaction to the event are recorded. For example, the analysis device 10 records product campaign information advertisements (impulse-like events for individuals) to hundreds of thousands to tens of millions of customers, and records of customer purchases (individual responses) for each customer. Analyze the history of events it contains.
  • the analysis apparatus 10 includes a replacement unit 102, a division unit 104, a state vector generation unit 106, a reaction frequency calculation unit 108, an analysis unit 110, and a storage unit 116.
  • the replacement unit 102 replaces each event in the impulse-like event series with a plurality of rectangular pulses. Thereby, the replacement unit 102 can approximate the response function corresponding to the event and the individual for each impulse-like event with a plurality of rectangular pulses.
  • the replacement unit 102 extracts an event series including the event time and the reaction time of the individual from the event history stored in an external database or the like.
  • the replacement unit 102 generates, from the extracted event series, a rectangular pulse having a predetermined time width starting from the time when the event occurs.
  • the replacement unit 102 generates a plurality of rectangular pulses having a plurality of different predetermined time widths.
  • the replacement unit 102 includes a plurality of event series (for example, a series of direct mail transmission events including advertisements and a series of web advertisement browsing events) in which events corresponding to a plurality of channel types are arranged in time series. ) May be replaced with a plurality of rectangular pulses (for example, direct mail transmission or web advertisement browsing).
  • the replacement unit 102 supplies the individual reaction time and information on a plurality of rectangular pulses to the dividing unit 104.
  • the dividing unit 104 divides the periods included in the plurality of event series at the time of at least one change point of the plurality of rectangular pulses in at least one of the plurality of event series. For example, the dividing unit 104 divides a period included in the event sequence into a plurality of periods at the rising and falling times in at least one of the plurality of rectangular pulses replaced by the replacing unit 102 from the plurality of event sequences. The dividing unit 104 supplies a plurality of rectangular pulses and information on a plurality of divided periods to the state vector generating unit 106. In addition, the dividing unit 104 supplies the reaction time calculation unit 108 with the reaction time of the individual and information on the plurality of divided periods.
  • the state vector generation unit 106 generates a state vector corresponding to the state of the plurality of rectangular pulses for each of the plurality of event sequences, corresponding to each of the plurality of divided periods. For example, the state vector generation unit 106 generates a state vector having a plurality of elements corresponding to the state of each rectangular pulse for each of a plurality of divided periods.
  • the state vector generation unit 106 sets the value of the corresponding element of the state vector to 1 and the rectangular pulse has a value of 0.
  • the value of the corresponding element of the state vector may be zero.
  • the state vector generation unit 106 supplies the generated state vector to the analysis unit 110.
  • the reaction frequency calculation unit 108 receives the event sequence and calculates the reaction frequency that is the number of reactions that occurred during the period corresponding to each of the plurality of periods. For example, the reaction number calculation unit 108 counts the number of reactions during the period based on whether the individual reaction time is included in each of the plurality of divided periods. The reaction frequency calculation unit 108 supplies the calculated reaction frequency for each of a plurality of periods to the analysis unit 110.
  • the analysis unit 110 performs Poisson regression analysis using a plurality of state vectors corresponding to a plurality of periods and a plurality of reaction times corresponding to the plurality of periods.
  • the analysis unit 110 includes a conversion unit 112 and an optimization unit 114.
  • the conversion unit 112 converts a plurality of state vectors corresponding to a plurality of periods into a plurality of feature vectors using a mapping function.
  • the conversion unit 112 supplies the feature vector to the optimization unit 114.
  • the optimization unit 114 optimizes the weight vector so as to maximize the probability that the number of reactions can be obtained from the Poisson distribution based on the scalar score obtained by the inner product of the feature vector and the weight vector in a plurality of periods.
  • the scalar score represents the magnitude of the stimulus when the stimulus from the event sequence from multiple channels is replaced with a single impulse-like stimulus at a certain point in time.
  • the weight vector is a vector quantity that represents the characteristics of an individual's response to a stimulus caused by an event, and may be different for each individual.
  • the optimization unit 114 uses the inner product of the feature vector and the weight vector as a scalar score, and the number of reaction events recorded in the history from the Poisson process in which the average number of reactions per unit time is an exponential function of the scalar score is For the logarithm of the generated probabilities, the weight vector is optimized so that the sum over the periods is maximized.
  • the optimization unit 114 causes the storage unit 116 to store the optimized weight vector.
  • the storage unit 116 stores the weight vector obtained by the optimization unit 114 for each individual.
  • the storage unit 116 may supply the weight vector to the estimation device 20 as required.
  • the analysis apparatus 10 divides the event sequence into a plurality of periods to generate state vectors for each period, and the number of reactions expected by the Poisson process based on the state vector and the weight vector in each period is the history response.
  • the weight vector is optimized so as to maximize the probability of matching the number of times. For this reason, according to the analyzer 10, it is possible to construct a Poisson process model in consideration of a dynamic event.
  • the analysis device 10 divides the event sequence into a plurality of periods at the time of the change point of the rectangular pulse based on the event, thereby reducing the amount of calculation compared to the method of discretizing the event sequence into a period of a certain length. can do.
  • the estimation device 20 estimates an individual's response to the event sequence based on the individual weight vector obtained based on the analysis result of the analysis device 10.
  • the estimation apparatus 20 includes a replacement unit 202, a state vector generation unit 206, a storage unit 208, and an estimation unit 210.
  • the replacement unit 202 replaces each event in the input event series with a plurality of rectangular pulses. For example, the replacement unit 202 inputs an event sequence assumed in the simulation. Similar to the replacement unit 102, the replacement unit 202 generates a rectangular pulse having a predetermined time width starting from the time point of the event included in the input event series. The replacement unit 202 supplies information on a plurality of rectangular pulses for a plurality of event sequences to the state vector generation unit 206.
  • the state vector generation unit 206 generates a state vector corresponding to the state of a plurality of rectangular pulses for each of a plurality of event sequences, corresponding to each of a plurality of periods. For example, the state vector generation unit 206 divides periods included in a plurality of event sequences at predetermined time intervals.
  • the state vector generation unit 206 generates a state vector having a plurality of elements corresponding to the state of each rectangular pulse in the same manner as the state vector generation unit 106 for each divided period.
  • the state vector generation unit 206 supplies the generated state vector for each of a plurality of periods to the estimation unit 210.
  • the storage unit 208 receives weight vector information from the storage unit 116 of the analyzer 10 and stores it.
  • the storage unit 208 supplies the weight vector to the estimation unit 210.
  • the estimation unit 210 estimates the number of reactions indicating the number of reactions corresponding to each of the plurality of periods, from the plurality of state vectors corresponding to each of the plurality of periods, using the analysis result by the analysis apparatus 10. For example, first, the estimation unit 210 converts a plurality of state vectors into a plurality of feature vectors using a mapping function, like the conversion unit 112.
  • the estimation unit 210 calculates a scalar score obtained from the inner product of the feature vector and the weight vector for each of a plurality of periods.
  • the estimation unit 210 simulates the number of reactions for each of a plurality of periods by a Monte Carlo method from a Poisson distribution having an expected value as the product of the exponent function of the scalar score and the length of the period.
  • the estimation unit 210 calculates the total number of reaction times y i in the entire simulation period by calculating the total of the simulated number of reactions.
  • the estimation unit 210 can also calculate a distribution relating to the total number of reaction events by changing the seed of the random number and repeating the simulation.
  • the estimation device 20 of the present embodiment can estimate a response to an event for each individual using the weight vector obtained by the analysis device 10. Furthermore, the estimation device 20 can quantitatively predict the magnitude of the response of a large number of individuals to a future event by executing a simulation on a plurality of individuals.
  • FIG. 2 shows a flow of analysis processing of the analyzer 10 of the present embodiment.
  • the analysis apparatus 10 analyzes the response of the individual to the event series in the history by executing the processing from S102 to S114.
  • the replacement unit 102 replaces each event in the impulse-like event sequence for a specific individual with a plurality of rectangular pulses. For example, first, the replacement unit 102 inputs an event history stored in a database or the like.
  • FIG. 3 shows an example of an event history input by the replacement unit 102.
  • the history in FIG. 3 includes individual numbers (ID (i)), and includes names of a plurality of customers (Name) as individuals. Also, the history includes the first to oth event series (where o is a natural number) and includes the reaction time of the individual.
  • the history includes the time when the direct mail is transmitted to the customer as the first event sequence (channel 1), and the customer browses the web advertisement as the second event sequence (channel 2). Includes time.
  • the history may include the time when the customer purchased the product as an individual response to an event stimulus from a plurality of channels.
  • the advertisement of the product is transmitted to “Taro Yamada” by direct mail as 2012/1/24 and 2012/3/20 as the first event series. Shows that we have seen WeB advertisements on 2012/2/4 and 2012/3/4 as the event series, and that “Taro Yamada” purchased the product related to the advertisement on 2012/2/10 as a response It is.
  • the replacement unit 102 extracts the time of the first event and the time of the second event related to “Taro Yamada” from the history shown in FIG.
  • the replacement unit 102 generates a rectangular pulse having a predetermined time width starting from the time of the extracted event.
  • the replacement unit 102 generates rectangular pulses having a time width of one day, one week, two weeks, and four weeks starting from the time of the event.
  • FIG. 4 shows the relationship of individual responses approximated by a plurality of rectangular pulses.
  • a curved line represented by a dotted line represents an ideal response to an individual's stimulus.
  • the individual shows the highest response immediately after the stimulation by the event, and the response to the stimulation gradually decreases with time.
  • the absolute strength of the response to the stimulus by the same event and the mode of response decay vary from individual to individual.
  • the dotted line curve in FIG. 4A shows an ideal response of an individual sensitive to a stimulus
  • the dotted line curve in FIG. 4B shows an ideal response of an individual insensitive to a stimulus.
  • an individual who is sensitive to a stimulus has a high response immediately after the stimulation by an event, but the response may rapidly decrease after the stimulation.
  • an individual who is insensitive to a stimulus may not have a high response immediately after the stimulus due to the event, but may continue for a relatively long time after the stimulus. .
  • the solid line in FIG. 4 shows the response of the individual approximated by a plurality of rectangular pulses.
  • an ideal response curve can be approximated by a step function in which a plurality of rectangular pulses having different time widths are superimposed.
  • the time width (1 day, 1 week, 2 weeks, and 4 weeks) of each rectangular pulse constituting the step function is the same for all individuals.
  • the heights h1 to h4 of each rectangular pulse are different for each individual.
  • the ideal response curve of an individual can be approximated by a combination of heights of a plurality of rectangular pulses having a predetermined time width.
  • the combination of the heights of a plurality of rectangular pulses that each individual has corresponds to a weight vector w i for each individual described later.
  • i 1 of the individual weight vector w 1 1-4 th element W 1_1 ⁇ W of (Taro Yamada) 1_4 are ideal duration 1 day that approximates the response to stimuli of the individual, 1 week, Corresponding to the respective heights h1 to h4 of the rectangular pulses of 2 weeks and 4 weeks.
  • channels 1 stimulus and channel 2 stimulus events included in two event series are represented in an impulse form.
  • Channel 1 windows 1 to 4 and “channel 2 windows 1 to 4” indicate a plurality of rectangular pulses replaced from events of the event series of the respective channels.
  • the replacement unit 102 raises the pulse at the start of the rectangular pulse to a high level state having a value of 1, and lowers the pulse at the end of the pulse after the elapse of a predetermined time width to have a value of 0. It may be in a low level state. Instead, the replacement unit 102 may assign other integers or real numbers to the values of the high level state and the low level state of the rectangular pulse. Further, when a plurality of rectangular pulses partially overlap in the same window in the same window, the rectangular pulse values of the corresponding period are integrated according to some standard to calculate one value, which is used as a state value. . As this criterion, a total value is usually used, but an OR operation using a bit representation may be used. The replacement unit 102 divides the reaction time and the information on the time and value at the start and end of a plurality of rectangular pulses for a specific individual (for example, “Taro Yamada” in the history of FIG. 3). To supply.
  • the dividing unit 104 divides the periods included in the plurality of event series at the time of at least one change point of the plurality of rectangular pulses in at least one of the plurality of event series.
  • FIG. 6 shows an example of a period included in the event series divided by the dividing unit 104.
  • the dividing unit 104 is included in the event series based on the times t1, t2, t3,... Of all the change points such as the rising and falling edges of the plurality of rectangular pulses generated from the plurality of event series.
  • the entire period is composed of a plurality of periods (for example, a period T 1 from time t1 to immediately before t2, a period T 2 from time t2 to immediately before t3, a period T from time t3 to immediately before t4). 3 ).
  • the dividing unit 104 supplies a plurality of rectangular pulses and information on a plurality of divided periods to the state vector generating unit 106. In addition, the dividing unit 104 supplies the reaction time and information on a plurality of divided periods to the reaction number calculating unit 108.
  • the state vector generation unit 106 generates a state vector corresponding to the state of the plurality of rectangular pulses for each of the plurality of event series, corresponding to each of the plurality of divided periods. For example, for the individual i, the state vector generation unit 106 has a plurality of elements corresponding to the state of the rectangular pulse corresponding to the period T j (j is an integer) from time tj to immediately before time t (j + 1). ij is generated.
  • FIG. 7 shows an example of a state vector generated by the state vector generation unit 106.
  • FIG. 8 shows a specific example of a state vector generated by the state vector generation unit 106.
  • FIG. 8A shows the event sequence shown in FIG. 6, and
  • FIG. 8B shows the state vector generated by the state vector generation unit 106 in the event sequence period t 7 in FIG. 8A.
  • Rectangular pulse value (0), channel 1 window 2 rectangular pulse value (0), channel 1 window 3 rectangular pulse value (0), channel 1 window 4 rectangular pulse value (1), channel 2 window 1 rectangular pulse value (0), channel 2 window 2 rectangular pulse value (0), channel 2 window 3 rectangular pulse value (1), and channel 2 window 4 rectangular pulse value (1) Are generated as elements.
  • the state vector generation unit 106 supplies the generated state vector X ij to the analysis unit 110.
  • the reaction frequency calculation unit 108 calculates the number of reactions y ij receives the event sequence is the number of reactions that occur during the period T j. For example, the number-of-reactions calculation unit 108 counts the number of individuals i that include the reaction time in each of a plurality of divided periods T j shown in FIG.
  • the conversion unit 112 converts the plurality of state vectors Xij into a plurality of feature vectors.
  • the conversion unit 112 converts the state vector X ij into the corresponding feature vector ⁇ (X ij ) by using an arbitrary mapping function ⁇ : R d1 ⁇ R d2 designed in advance.
  • d1 is the dimension of the state vector
  • d2 is the dimension of the feature vector.
  • d1 and d2 may be the same.
  • the conversion unit 112 by adding a second-order correlation terms in the state vector X ij, may convert the state vector X ij to the feature vector [Phi (X ij).
  • the optimization unit 114 optimizes the weight vector so that the probability function is maximized. Specifically, first, the optimization unit 114 calculates a scalar score based on the inner product of the feature vector X ij and the weight vector w i for each period j of the individual i. Next, the optimization unit 114 calculates the logarithm of the probability that the number of reactions y ij is generated from the Poisson distribution in which the product of the calculated exponent function of the scalar score and the length of the period j is an expected value. Finally, the optimization unit 114 optimizes the weight vector w i so that the sum of log probabilities in all periods is maximized.
  • the optimization unit 114 may use maximum likelihood estimation, MAP estimation, haze estimation, or the like as a technique for optimizing Equation 1.
  • the optimization unit 114 uses the probability function 1 of Equation 1 as a probability function l.
  • a function obtained by removing the normalization term for the number of reactions from the logarithmic probability mass function based on the above is used.
  • the optimization unit 114 can perform optimization considering the irreversibility of time by removing the normalization term.
  • the optimization unit 114 uses a function represented by the following expression as the probability function l.
  • y is the actual number of reactions
  • z is a scalar score, which is a logarithm of the expected value of the number of reactions
  • represents the length of the target period.
  • the vector w 0 in Equation 1 is a response parameter that does not depend on an individual.
  • pen (w 0 , w 1 , w 2 ,... w m ) is a normalization term and normally uses a convex function, but may use a non-convex function.
  • the optimization unit 114 prevents excessive adaptation to the history in which the weight vectors w 1 to m are input, and prevents the fitness from being lowered for an event sequence different from the history.
  • the optimization unit 114 can result in Equation 1 as a convex optimization problem, and thus can calculate a global optimal solution by the gradient method. Thereby, the optimization part 114 can optimize Formula 1 stably.
  • the optimization unit 114 may be used L 2 normalization term as normalization term for overfitting prevention.
  • the optimization unit 114 uses the L 2 normalization term as Can be used.
  • c 0 and c is a hyper-parameter determined by cross-test, or the like.
  • the optimization unit 114 may use the L 1 normalization term instead of the L 2 normalization term.
  • the optimization unit 114 may use a mathematical expression that does not include a normalization term for preventing excessive adaptation.
  • the optimization unit 114 may assign the state vector X ix period T x for the two periods T x + period T (x + 1). Moreover, the optimization unit 114 for the duration T x + period T (x + 1), and the state vector X ix period T x, period adjacent to the period T x T (x + 1) of the state vector X i (x + 1) May be assigned a state vector obtained from the average of.
  • the optimization unit 114 stores the optimized m individual weight vectors w 1 to m in the storage unit 116.
  • FIG. 9 shows an example of the weight vectors w 1 to m stored in the storage unit 116.
  • the storage unit 116 stores the values of the elements W ie constituting the weight vectors w 1 to m for each individual ID (i).
  • the number of elements constituting the weight vector may be the same as the number of rectangular pulses that the replacement unit 102 generates from one event in S102.
  • the replacement unit 102 replaces events in the history event series with rectangular pulses by the processing from S102 to S114, so that the state vector generation unit 106 generates a state vector. To do. Since the state vector is stationary in each period, the analysis apparatus 10 causes the analysis unit 110 to perform a Poisson regression analysis on the weight vectors w 1 to m corresponding to the m individuals, and models the response of each individual to the event. be able to.
  • the analyzer 10 can approximate the tendency of the response to the stimulation of m individuals by a step function composed of a plurality of rectangular pulses.
  • the analysis apparatus 10 can estimate what kind of event a certain individual i is likely to react to and a tendency such as a time lag of a response to the event by calculating the weight vector w i .
  • FIG. 10 shows a flow of estimation processing of the estimation apparatus 20 of the present embodiment.
  • the estimation device 20 estimates the responses of a plurality of individuals to a predetermined event sequence by executing the processing from S202 to S210.
  • the replacement unit 202 replaces each event in the impulse-like event sequence for a specific individual with a plurality of rectangular pulses.
  • the replacement unit 102 inputs an event sequence assumed in the simulation.
  • the replacement unit 102 may create an event series for the individual i from a previously created advertisement campaign plan for a product using a predetermined algorithm, and input this.
  • the replacement unit 202 generates a rectangular pulse having a predetermined time width starting from the time point of the event included in the event series of the individual i.
  • the replacement unit 202 supplies the state vector generation unit 206 with information on a plurality of event sequences and start points and time widths of the plurality of rectangular pulses.
  • the state vector generation unit 206 generates a state vector corresponding to the state of the plurality of rectangular pulses for each of the plurality of event sequences, corresponding to each of the plurality of periods. For example, first, the state vector generation unit 206 divides a period included in a plurality of event series at a constant time interval ⁇ t, and generates a plurality of divided periods T 1 to T n .
  • State vector generator 206 generates the state vector X ij of individual i for each divided period T j.
  • the state vector generation unit 206 generates a state vector X ij from a plurality of elements corresponding to the states of a plurality of rectangular pulses at the start point or end point of the period T j .
  • the state vector generation unit 206 may generate the state vector X ij from the average value of the state of the rectangular pulse at the start point and end point of the period T j .
  • the state vector generation unit 206 supplies the generated state vector X ij to the estimation unit 210.
  • the storage unit 208 reads the weight vector w i of the individual i from the storage unit 116 of the analysis apparatus 10 and stores it.
  • the storage unit 208 supplies the weight vector w i to the estimation unit 210.
  • estimation unit 210 a plurality of the state vector X i1 ⁇ X in which corresponding to each of the plurality of periods T 1 ⁇ T n, the individual corresponding to a plurality of periods T 1 ⁇ T n i
  • the number of reactions y ij indicating the number of reactions is estimated.
  • the estimation unit 210 converts a plurality of state vectors X ij into a plurality of feature vectors ⁇ (X ij ) in the same manner as the conversion unit 112.
  • the estimation unit 210 calculates a scalar score obtained from the inner product of the feature vector ⁇ (X ij ) of the individual i and the weight vector w i for each of the plurality of periods T 1 to T n .
  • Estimation unit 210 from the Poisson distribution of the average number of reactions the product of the exponential function and the time intervals ⁇ t of the scalar score in the period T j, and calculates the samples y ij of the reaction times in a period T j by Monte Carlo method.
  • the estimation unit 210 When ⁇ t is sufficiently small, the estimation unit 210 generates 0 or 1 as the number of reactions in the period tj.
  • the estimation unit 210 estimates the number of reactions Y i of the individual i in the entire period of the event sequence by calculating the sum of the number of reactions y ij in the plurality of periods T 1 to T n .
  • the estimation apparatus 20 repeats the processing from S202 to S210 until the number of reactions Y i is estimated for all individuals.
  • the estimation apparatus 20 generates a state vector from an assumed event sequence, and uses an inner product of the state vector and a weight vector w i representing a tendency of a response to a stimulus for each individual i.
  • the response to the event can be simulated for each i.
  • the estimation apparatus 20 can predict the magnitude
  • the estimation unit 210 of the estimation device 20 may obtain the probability of reaction to an individual event or the time required for the reaction instead of estimating the number of reactions to the individual event. Good.
  • the analysis apparatus 10 determines the response characteristic of the individual i by the weight vector w i . For this reason, the estimation apparatus 20 can optimize a marketing measure by using the value of the weight vector w i and using the reinforcement learning technique and / or the Markov decision process technique.
  • the state vector generation unit 206 divides the event sequence at regular time intervals. For this reason, according to the estimation apparatus 20, compared with the case where an event series is divided
  • the analysis apparatus 10 and the estimation apparatus 20 of the present embodiment use an advertisement campaign for a product by DM and web browsing as an event series and customer purchase as a reaction to the event
  • the event series and reaction of the analysis apparatus 10 and the estimation apparatus 20 May be other.
  • the analysis device 10 and the estimation device 20 may use a stimulus to an individual by television, e-mail, telephone, or the like as an event.
  • the analysis device 10 and the estimation device 20 may use access to a web page of a customer's product as a reaction.
  • the analysis apparatus 10 and the estimation apparatus 20 may include a reaction to the event itself in the event series. For example, when the customer (individual) purchases (reacts) a certain product in response to a certain DM advertisement (event), the analysis device 10 and the estimation device 20 handle the purchase itself as an event for the next purchase. Thereby, the analysis apparatus 10 and the estimation apparatus 20 can model the case where the reaction itself by the individual causes the next reaction, such as the habit of purchasing.
  • the analysis device 10 and the estimation device 20 may analyze and predict the propagation of information in the social network.
  • the analysis device 10 and the estimation device 20 may divide the text posted on the short text posting website into predetermined topic categories, and post topics of different categories as events by different channels.
  • the analysis device 10 and the estimation device 20 may use another post following the post as a reaction to the event. Thereby, the analysis apparatus 10 and the estimation apparatus 20 can analyze and predict the state of propagation of information in the social network.
  • FIG. 11 shows an example of a hardware configuration of a computer 1900 that functions as the analysis device 10, the estimation device 20, and the like.
  • a computer 1900 is connected to a CPU peripheral unit having a CPU 2000, a RAM 2020, a graphic controller 2075, and a display device 2080 that are connected to each other by a host controller 2082, and to the host controller 2082 by an input / output controller 2084.
  • Input / output unit having communication interface 2030, hard disk drive 2040, and CD-ROM drive 2060, and legacy input / output unit having ROM 2010, flexible disk drive 2050, and input / output chip 2070 connected to input / output controller 2084 With.
  • the host controller 2082 connects the RAM 2020 to the CPU 2000 and the graphic controller 2075 that access the RAM 2020 at a high transfer rate.
  • the CPU 2000 operates based on programs stored in the ROM 2010 and the RAM 2020 and controls each unit.
  • the graphic controller 2075 acquires image data generated by the CPU 2000 or the like on a frame buffer provided in the RAM 2020 and displays it on the display device 2080.
  • the graphic controller 2075 may include a frame buffer for storing image data generated by the CPU 2000 or the like.
  • the input / output controller 2084 connects the host controller 2082 to the communication interface 2030, the hard disk drive 2040, and the CD-ROM drive 2060, which are relatively high-speed input / output devices.
  • the communication interface 2030 communicates with other devices via a network by wire or wireless.
  • the communication interface functions as hardware that performs communication.
  • the hard disk drive 2040 stores programs and data used by the CPU 2000 in the computer 1900.
  • the CD-ROM drive 2060 reads a program or data from the CD-ROM 2095 and provides it to the hard disk drive 2040 via the RAM 2020.
  • the ROM 2010, the flexible disk drive 2050, and the relatively low-speed input / output device of the input / output chip 2070 are connected to the input / output controller 2084.
  • the ROM 2010 stores a boot program that the computer 1900 executes at startup and / or a program that depends on the hardware of the computer 1900.
  • the flexible disk drive 2050 reads a program or data from the flexible disk 2090 and provides it to the hard disk drive 2040 via the RAM 2020.
  • the input / output chip 2070 connects the flexible disk drive 2050 to the input / output controller 2084 and inputs / outputs various input / output devices via, for example, a parallel port, a serial port, a keyboard port, a mouse port, and the like. Connect to controller 2084.
  • the program provided to the hard disk drive 2040 via the RAM 2020 is stored in a recording medium such as the flexible disk 2090, the CD-ROM 2095, or an IC card and provided by the user.
  • the program is read from the recording medium, installed in the hard disk drive 2040 in the computer 1900 via the RAM 2020, and executed by the CPU 2000.
  • a program installed in the computer 1900 and causing the computer 1900 to function as the analysis apparatus 10 includes a replacement module, a division module, a state vector generation module, a reaction frequency calculation module, an analysis module, a conversion module, and an optimization module.
  • the program that includes the storage module and causes the computer 1900 to function as the estimation device 20 includes a replacement module, a state vector generation module, a storage module, and an estimation module.
  • These programs or modules work on the CPU 2000 or the like to change the computer 1900 into a replacement unit 102, a division unit 104, a state vector generation unit 106, a reaction frequency calculation unit 108, an analysis unit 110, a conversion unit 112, an optimization unit 114,
  • the storage unit 116, the replacement unit 202, the state vector generation unit 206, the storage unit 208, and the estimation unit 210 may function.
  • the information processing described in these programs is read into the computer 1900, so that the replacement unit 102, the division unit 104, and the state vector generation, which are specific means in which the software and the various hardware resources described above cooperate.
  • the specific analysis apparatus 10 and the estimation apparatus 20 according to a use purpose are constructed
  • the CPU 2000 executes a communication program loaded on the RAM 2020 and executes a communication interface based on the processing content described in the communication program.
  • a communication process is instructed to 2030.
  • the communication interface 2030 reads transmission data stored in a transmission buffer area or the like provided on a storage device such as the RAM 2020, the hard disk drive 2040, the flexible disk 2090, or the CD-ROM 2095, and sends it to the network.
  • the reception data transmitted or received from the network is written into a reception buffer area or the like provided on the storage device.
  • the communication interface 2030 may transfer transmission / reception data to / from the storage device by a DMA (direct memory access) method. Instead, the CPU 2000 transfers the storage device or the communication interface 2030 as a transfer source.
  • the transmission / reception data may be transferred by reading the data from the data and writing the data to the communication interface 2030 or the storage device of the transfer destination.
  • the CPU 2000 is all or necessary from among files or databases stored in an external storage device such as a hard disk drive 2040, a CD-ROM drive 2060 (CD-ROM 2095), and a flexible disk drive 2050 (flexible disk 2090).
  • This portion is read into the RAM 2020 by DMA transfer or the like, and various processes are performed on the data on the RAM 2020. Then, CPU 2000 writes the processed data back to the external storage device by DMA transfer or the like.
  • the RAM 2020 and the external storage device are collectively referred to as a memory, a storage unit, a storage device, or the like. These may correspond to the storage unit 116 and the storage unit 208 of the present embodiment.
  • the CPU 2000 can also store a part of the RAM 2020 in the cache memory and perform reading and writing on the cache memory. Even in such a form, the cache memory bears a part of the function of the RAM 2020. Therefore, in the present embodiment, the cache memory is also included in the RAM 2020, the memory, and / or the storage device unless otherwise indicated. To do.
  • the CPU 2000 performs various operations, such as various operations, information processing, condition determination, information search / replacement, etc., described in the present embodiment, specified for the data read from the RAM 2020 by the instruction sequence of the program. Is written back to the RAM 2020. For example, when performing the condition determination, the CPU 2000 determines whether or not the various variables shown in the present embodiment satisfy the conditions such as large, small, above, below, equal, etc., compared to other variables or constants. If the condition is satisfied (or not satisfied), the program branches to a different instruction sequence or calls a subroutine.
  • the CPU 2000 can search for information stored in a file or database in the storage device. For example, in the case where a plurality of entries in which the attribute value of the second attribute is associated with the attribute value of the first attribute are stored in the storage device, the CPU 2000 displays the plurality of entries stored in the storage device. The entry that matches the condition in which the attribute value of the first attribute is specified is retrieved, and the attribute value of the second attribute that is stored in the entry is read, thereby associating with the first attribute that satisfies the predetermined condition The attribute value of the specified second attribute can be obtained.
  • the program or module shown above may be stored in an external recording medium.
  • an optical recording medium such as DVD or CD
  • a magneto-optical recording medium such as MO
  • a tape medium such as an IC card, and the like
  • a storage device such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet may be used as a recording medium, and the program may be provided to the computer 1900 via the network.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)

Abstract

時間軸を微小な一定の時間幅で離散化してイベントによる刺激と顧客の反応をモデル化すると計算量が著しく大きくなる問題が生じた。また、生存時間解析等の連続時間を直接扱うモデルは、共変量が一定であることが前提であり、動的なイベントを考慮することができなかった。 インパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、置換により生成されたイベント系列を複数の矩形パルスの少なくとも1つの変化点の時刻で分割する分割部と、分割された複数の期間のそれぞれに対応して、複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、複数の期間に対応する複数の状態ベクトルを用いてポアソン回帰分析を行う分析部と、を備える分析装置を提供する。

Description

分析装置、分析プログラム、分析方法、推定装置、推定プログラム、及び、推定方法。
 本発明は、分析装置、分析プログラム、分析方法、推定装置、推定プログラム、及び、推定方法に関する。
 イベントによる個体(例えば、顧客)への刺激とイベントに対する個体の反応との間の関係を統計的手法によりモデル化し、イベントに対する反応をシミュレーションすることが知られている(例えば、特許文献1参照)。
特表2003-524221号公報
 しかし、時間軸を微小な一定の時間幅で離散化してイベントと個体の反応をモデル化すると計算量が著しく大きくなる問題が生じる。また、連続時間を直接扱う生存時間解析等の方法によると、共変量が定常であることが前提であり、動的なイベントを考慮したモデルを構築することができなかった。
 本発明の第1の態様においては、インパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、置換により生成されたイベント系列を複数の矩形パルスの少なくとも1つの変化点の時刻で分割する分割部と、分割された複数の期間のそれぞれに対応して、複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、複数の期間に対応する複数の状態ベクトルを用いてポアソン回帰分析を行う分析部と、を備える分析装置、当該分析装置を用いる分析方法、及び、コンピュータを当該分析装置として機能させる分析プログラムを提供する。
 本発明の第2の態様においては、当該分析装置による分析結果に基づいてイベント系列に対する反応を推定する推定装置であって、入力されたイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、置換により生成されたイベント系列を複数の矩形パルスの少なくとも1つの変化点の時刻で分割する分割部と、分割された複数の期間のそれぞれに対応して、複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、分析装置による分析結果を用いて、複数の期間のそれぞれに対応する複数の状態ベクトルから、複数の期間のそれぞれに対応する反応の回数を示す反応回数を推定する推定部と、を備える推定装置、当該推定装置を用いる推定方法、及び、コンピュータを当該推定装置として機能させる推定プログラムを提供する。
 なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本実施形態の分析装置10及び推定装置20の構成を示す。 本実施形態の分析装置10の分析処理のフローを示す。 置換部102が入力するイベントの履歴の一例を示す。 複数の矩形パルスにより近似される個体の反応を示す。 置換部102が生成する複数の矩形パルスの一例を示す。 分割部104が分割するイベント系列に含まれる期間の一例を示す。 状態ベクトル生成部106が生成する状態ベクトルの一例を示す。 状態ベクトル生成部106が、生成する状態ベクトルの具体例を示す。 記憶部116に記憶される重みベクトルw1~mの一例を示す。 本実施形態の推定装置20の推定処理のフローを示す。 コンピュータ1900のハードウェア構成の一例を示す。
 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 図1は、本実施形態の分析装置10及び推定装置20の構成を示す。分析装置10は、個体に対するインパルス状のイベント、及び、イベントに対する個体の反応を記録したイベントの履歴を分析する。例えば、分析装置10は、数十万~数千万人の顧客に対する商品キャンペーン情報の広告(個体に対するインパルス状のイベント)、及び、顧客の商品の購入(個体の反応)の顧客ごとの記録を含むイベントの履歴を分析する。分析装置10は、置換部102、分割部104、状態ベクトル生成部106、反応回数算出部108、分析部110、及び、記憶部116を備える。
 置換部102は、インパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する。これにより、置換部102は、インパルス状の各イベントに対するイベント及び個体に応じた応答関数を複数の矩形パルスで近似できる。
 具体的には、置換部102は、外部のデータベース等に格納されたイベントの履歴から、イベントの時刻を含むイベント系列、及び、個体の反応時刻を抽出する。置換部102は、抽出したイベント系列から、当該イベントがあった時点を始点とする予め定められた時間幅の矩形パルスを生成する。ここで、置換部102は、複数の異なる予め定められた時間幅を有する複数の矩形パルスを生成する。
 置換部102は、複数のチャネルの種類に応じたイベントが時系列に並んだ、複数のイベント系列(例えば、広告が記載されたダイレクトメール送信のイベントの系列、及び、ウェブ広告閲覧のイベントの系列)におけるそれぞれのイベント(例えば、ダイレクトメールの送信、又は、ウェブ広告の閲覧)を複数の矩形パルスに置換してもよい。置換部102は、個体の反応時刻、及び、複数の矩形パルスの情報を分割部104に供給する。
 分割部104は、複数のイベント系列の少なくとも1つにおける複数の矩形パルスの少なくとも1つの変化点の時刻で、複数のイベント系列に含まれる期間を分割する。例えば、分割部104は、置換部102が複数のイベント系列から置換した複数の矩形パルスの少なくとも1つにおける立上がり、及び、立下りの時刻でイベント系列に含まれる期間を複数の期間に分割する。分割部104は、複数の矩形パルス及び分割された複数の期間の情報を、状態ベクトル生成部106に供給する。また、分割部104は、個体の反応時刻と分割された複数の期間の情報を、反応回数算出部108に供給する。
 状態ベクトル生成部106は、分割された複数の期間のそれぞれに対応して、複数のイベント系列のそれぞれについての複数の矩形パルスの状態に応じた状態ベクトルを生成する。例えば、状態ベクトル生成部106は、分割された複数の期間ごとに、それぞれの矩形パルスの状態に対応した複数の要素を有する状態ベクトルを生成する。
 一例として、状態ベクトル生成部106は、矩形パルスが1の値を有するハイレベル状態であれば、状態ベクトルの対応する要素の値を1とし、矩形パルスが0の値を有するローレベル状態であれば、状態ベクトルの対応する要素の値を0としてよい。状態ベクトル生成部106は、生成した状態ベクトルを分析部110に供給する。
 反応回数算出部108は、複数の期間のそれぞれに対応して、イベント系列を受けて当該期間中に発生した反応の回数である反応回数を算出する。例えば、反応回数算出部108は、個体の反応時刻が分割された複数の期間のそれぞれに含まれるかに基づいて、当該期間中の反応回数をカウントする。反応回数算出部108は、算出された複数の期間ごとの反応回数を分析部110に供給する。
 分析部110は、複数の期間に対応する複数の状態ベクトル、および、複数の期間に対応する複数の反応回数を用いてポアソン回帰分析を行う。分析部110は、変換部112及び最適化部114を有する。
 変換部112は、写像関数により、複数の期間に対応する複数の状態ベクトルを、複数の特徴ベクトルに変換する。変換部112は、特徴ベクトルを最適化部114に供給する。
 最適化部114は、複数の期間において、特徴ベクトルと重みベクトルとの内積により得られるスカラースコアに基づくポアソン分布から反応回数が得られる確率を最大化するように重みベクトルを最適化する。スカラースコアは、複数のチャネルからのイベント系列からの刺激を、ある時点において単一のインパルス状の刺激に置き換えた場合の刺激の大きさを表す。重みベクトルは、イベントによる刺激に対する個体の反応の特徴を表すベクトル量であり、個体ごとに異なってよい。
 例えば、最適化部114は、特徴ベクトルと重みベクトルとの内積をスカラースコアとし、単位時間当たりの平均反応回数がスカラースコアの指数関数であるポアソン過程から履歴に記録された反応イベントの発生回数が生成される確率の対数について、その複数の期間における和が最大化されるように、重みベクトルを最適化する。最適化部114は、最適化された重みベクトルを記憶部116に記憶させる。
 記憶部116は、最適化部114により得られた重みベクトルを、個体ごとに記憶する。記憶部116は、要求に応じて重みベクトルを推定装置20に供給してよい。
 このように分析装置10は、イベント系列を複数の期間に分割して各期間の状態ベクトルを生成し、各期間における状態ベクトル及び重みベクトルに基づきポアソン過程により期待される反応回数が、履歴の反応回数と一致する確率を最大化するように重みベクトルを最適化する。このため、分析装置10によれば、動的なイベントを考慮したポアソン過程モデルを構築することができる。
 また、分析装置10は、イベント系列をイベントに基づく矩形パルスの変化点の時刻で複数の期間に分割することにより、イベント系列を一定の長さの期間に離散化する方法よりも計算量を低減することができる。
 推定装置20は、分析装置10による分析結果に基づいて得られた個体の重みベクトルにより、イベント系列に対する個体の反応を推定する。推定装置20は、置換部202、状態ベクトル生成部206、記憶部208、及び、推定部210を備える。
 置換部202は、入力されたイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する。例えば、置換部202は、シミュレーションにおいて想定されるイベント系列を入力する。置換部202は、置換部102と同様に、入力されたイベント系列に含まれるイベントの時点を始点とする予め定められた時間幅の矩形パルスを生成する。置換部202は、複数のイベント系列についての複数の矩形パルスの情報を状態ベクトル生成部206に供給する。
 状態ベクトル生成部206は、複数の期間のそれぞれに対応して、複数のイベント系列のそれぞれについての複数の矩形パルスの状態に応じた状態ベクトルを生成する。例えば、状態ベクトル生成部206は、複数のイベント系列に含まれる期間を予め定められた時間間隔で分割する。
 状態ベクトル生成部206は、分割された期間ごとに、それぞれの矩形パルスの状態に応じた複数の要素を有する状態ベクトルを、状態ベクトル生成部106と同様に生成する。状態ベクトル生成部206は、生成した複数の期間ごとの状態ベクトルを推定部210に供給する。
 記憶部208は、分析装置10の記憶部116から重みベクトルの情報を受け取り、記憶する。記憶部208は、重みベクトルを推定部210に供給する。
 推定部210は、分析装置10による分析結果を用いて、複数の期間のそれぞれに対応する複数の状態ベクトルから、複数の期間のそれぞれに対応する反応の回数を示す反応回数を推定する。例えば、まず、推定部210は、変換部112と同様に、写像関数により複数の状態ベクトルを複数の特徴ベクトルに変換する。
 次に、推定部210は、複数の期間のそれぞれについて、特徴ベクトルと重みベクトルとの内積により得られるスカラースコアを算出する。推定部210は、複数期間のそれぞれについて、スカラースコアの指数関数と該当期間の長さとの積を期待値とするポアソン分布からモンテカルロ法により反応回数をシミュレートする。そして推定部210は、シミュレートされた複数の反応回数の合計を算出することで、シミュレーション期間全体での合計反応イベント回数yを計算する。さらに推定部210は、乱数のシードを変えてシミュレーションを繰り返すことで合計反応イベント回数の関する分布をも算出できる。 
 このように、本実施形態の推定装置20は、分析装置10により得られた重みベクトルを用いて個体ごとにイベントに対する反応を推定することができる。さらに、推定装置20は、複数の個体に対してシミュレーションを実行することで、将来のイベントに対する多数の個体の反応の大きさを定量的に予想することができる。
 図2は、本実施形態の分析装置10の分析処理のフローを示す。本実施形態において、分析装置10は、S102からS114までの処理を実行することにより、履歴中のイベント系列に対する個体の反応を分析する。
 まず、S102において、置換部102が、特定の個体についてのインパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する。例えば、まず、置換部102は、データベース等に格納されたイベントの履歴を入力する。
 図3は、置換部102が入力するイベントの履歴の一例を示す。図3の履歴には、個体の番号(ID(i))が含まれ、個体として複数の顧客の名前(Name)が含まれる。また、履歴には、第1~第oまでのo個(oは自然数)のイベント系列が含まれ、個体の反応時刻が含まれている。
 図3に示すように、履歴には、第1のイベント系列(チャネル1)として顧客にダイレクトメールを送信した時刻が含まれ、第2のイベント系列(チャネル2)として顧客がWeb広告を閲覧した時刻が含まれる。また、履歴は、複数のチャネルからのイベントの刺激に対する個体の反応として、顧客が商品を購買した時刻を含んでよい。
 例えば、ID(i)番号1の履歴には、「山田太郎」に対し、第1のイベント系列として2012/1/24及び2012/3/20にダイレクトメールで商品の広告を送信し、第2のイベント系列として2012/2/4及び2012/3/4にWeB広告を閲覧させたことと、及び、反応として「山田太郎」が2012/2/10に広告に係る商品を購買したことが示される。
 置換部102は、例えば、図3に示される履歴から、「山田太郎」に係る、第1のイベントの時刻及び第2のイベントの時刻を抽出する。置換部102は、抽出したイベントの時刻を始点とする予め定められた時間幅の矩形パルスを生成する。一例として、置換部102は、イベントの時刻を始点とする1日、1週間、2週間、及び、4週間の時間幅の矩形パルスを生成する。
 図4は、複数の矩形パルスにより近似される個体の反応の関係を示す。図4において、点線で表される曲線は、個体の刺激への理想的な反応を表す。図示されるように、理想的な反応において、個体は、イベントによる刺激の直後にもっとも高い反応を示し、時間の経過とともに徐々に刺激への反応が低下する。
 これは、一例として、時間の経過とともに個体がイベントを忘却することに起因する。例えば、顧客にダイレクトメール(DM)を送信する場合、DMの受信直後は顧客がDMに関連する商品を購入する可能性が高いが、顧客はDMのことを次第に忘れるので時間の経過とともに商品の購入可能性は漸減する。
 また、同じイベントによる刺激に対する反応の絶対的な強さ、及び、反応の減衰の態様は、個体により異なる。図4(a)の点線曲線は刺激に対して敏感な個体の理想的な反応を示し、図4(b)の点線曲線は刺激に対して鈍感な個体の理想的な反応を示す。
 図4(a)に示すように、例えば、刺激に対して敏感な個体はイベントによる刺激直後の反応は高いが刺激の後は急激に反応が低下する場合がある。一方で、図4(b)に示すように、例えば、刺激に対して鈍感な個体は、イベントによる刺激直後の反応はそれほど高くないが刺激の後は比較的長い間反応が持続する場合がある。
 図4の実線は、複数の矩形パルスにより近似される個体の反応を示す。図示するように、理想的な反応曲線は、異なる時間幅の複数の矩形パルスを重ねた階段関数で近似することができる。例えば、図4(a)及び(b)に示すように、階段関数を構成する各矩形パルスの時間幅(1日、1週間、2週間、及び、4週間)は全ての個体で同一であるが、各矩形パルスの高さh1~h4は個体ごとに異なる。このように、個体の理想的な反応曲線は、複数の予め定められた時間幅の矩形パルスの高さの組み合わせにより近似することができる。
 ここで、各個体が有する複数の矩形パルスの高さの組み合わせは、後述する各個体ごとの重みベクトルwと対応する。例えば、i=1の個体(山田太郎)の重みベクトルwの1~4番目の要素W1_1~W1_4は、当該個体の刺激に対する理想的な反応を近似する時間幅1日、1週間、2週間、及び4週間の矩形パルスのそれぞれの高さh1~h4と対応する。
 図5に、図3の履歴のうち「山田太郎(ID(i)=1)」の履歴に基づいて、置換部102が生成する複数の矩形パルスの一例を示す。「チャネル1刺激」及び「チャネル2刺激」には、2つのイベント系列に含まれるイベントをインパルス状に表す。「チャネル1ウインドウ1~4」及び「チャネル2ウインドウ1~4」は、それぞれのチャネルのイベント系列のイベントから置換された複数の矩形パルスを示す。
 例えば、「チャネル1ウインドウ1」に示される矩形パルスは、「山田太郎(i=1)」のチャネル1のイベント系列のイベントの時点(2012/1/24及び2012/3/20)を始点として、1日の時間幅を有するようにそれぞれ生成された2つの矩形パルスを示す。また、例えば、「チャネル2ウインドウ4」に示される矩形パルスは、チャネル2のイベント系列のイベントの時点(2012/2/4及び2012/3/4)を始点として、4週間の時間幅を有するようにそれぞれ生成された2つの矩形パルスを示す。
 置換部102は、矩形パルスの開始時においてパルスを立ち上げて1の値を有するハイレベル状態とし、予め定められた時間幅の経過後のパルスの終了時にパルスを立ち下げて0の値を有するローレベル状態としてよい。これに代えて、置換部102は、矩形パルスのハイレベル状態及びローレベル状態の値に、他の整数または実数を割り当ててよい。さらに、同一チャネル同一ウインドウ内で複数の矩形パルスが時間的に一部重なった場合は、該当期間の各矩形パルス値を何らかの基準で統合して一つの値を計算し、これを状態値とする。この基準としては通常は合計値を用いるが、ビット表現によるOR演算等でもよい。置換部102は、特定の個体(例えば、図3の履歴における「山田太郎」)についての、反応時刻、及び、複数の矩形パルスの開始時及び終了時の時刻及び値の情報を、分割部104に供給する。
 次に、S104において、分割部104は、複数のイベント系列の少なくとも1つにおける複数の矩形パルスの少なくとも1つの変化点の時刻で、複数のイベント系列に含まれる期間を分割する。
 図6には、分割部104が分割するイベント系列に含まれる期間の一例を示す。図示するように、分割部104は、複数のイベント系列から生成された複数の矩形パルスの立ち上がり及び立下り等の全ての変化点の時刻t1、t2、t3…に基づいて、イベント系列に含まれる全体の期間を、隣り合う時刻間から構成される複数の期間(例えば、時刻t1からt2直前までの期間T、時刻t2からt3直前までの期間T、時刻t3~t4直前までの期間T…)に分割する。
 分割部104は、複数の矩形パルス及び分割された複数の期間の情報を、状態ベクトル生成部106に供給する。また、分割部104は、反応時刻と分割された複数の期間の情報を、反応回数算出部108に供給する。
 次に、S106において、状態ベクトル生成部106は、分割された複数の期間のそれぞれに対応して、複数のイベント系列のそれぞれについての複数の矩形パルスの状態に応じた状態ベクトルを生成する。例えば、状態ベクトル生成部106は、個体iについて、時刻tjから時刻t(j+1)直前までの期間T(jは整数)に対応する矩形パルスの状態に応じた複数の要素を有する状態ベクトルXijを生成する。
 図7は、状態ベクトル生成部106が生成する状態ベクトルの一例を示す。図示するように、状態ベクトル生成部106は、期間TにおけるID(i)=1の個体の状態ベクトルX1jとして、期間Tにおける、チャネル1ウインドウ1の矩形パルスの値、チャネル1ウインドウ2の矩形パルスの値、チャネル1ウインドウ3の矩形パルスの値、チャネル1ウインドウ4の矩形パルスの値、チャネル2ウインドウ1の矩形パルスの値、チャネル2ウインドウ2の矩形パルスの値、チャネル2ウインドウ3の矩形パルスの値、及び、チャネル2ウインドウ4の矩形パルスの値を各要素として有するベクトルを生成する。 
 図8に、状態ベクトル生成部106が、生成する状態ベクトルの具体例を示す。図8(a)に、図6に示すイベント系列を示し、図8(b)に図8(a)のイベント系列の期間tにおいて、状態ベクトル生成部106が生成する状態ベクトルを示す。
 図示されるように、状態ベクトル生成部106は、時刻t7から時刻t8直前までの期間TにおけるID(i)=1の個体の状態ベクトルX1_7として、期間Tにおける、チャネル1ウインドウ1の矩形パルスの値(0)、チャネル1ウインドウ2の矩形パルスの値(0)、チャネル1ウインドウ3の矩形パルスの値(0)、チャネル1ウインドウ4の矩形パルスの値(1)、チャネル2ウインドウ1の矩形パルスの値(0)、チャネル2ウインドウ2の矩形パルスの値(0)、チャネル2ウインドウ3の矩形パルスの値(1)、及び、チャネル2ウインドウ4の矩形パルスの値(1)を各要素として有するベクトルを生成する。状態ベクトル生成部106は、生成した状態ベクトルXijを分析部110に供給する。
 次に、S108において、反応回数算出部108は、複数の期間のそれぞれに対応して、イベント系列を受けて当該期間T中に発生した反応の回数である反応回数yijを算出する。例えば、反応回数算出部108は、図6に示す分割された複数の期間Tの各々において、個体iの反応の時刻が含まれる個数を数える。
 図3に示す履歴の例において、イベントに対するID(i)=1の個体の反応時刻は2012/2/10であるので、時刻t6(2012/2/7)から時刻t7(2012/2/11)の直前(2012/2/10)までの期間T(2012/2/7~2012/2/10)に含まれる。従って、反応回数算出部108は、期間T~T及び期間T以降に対応する反応回数y1_1、y1_2…y1_5、及び、y1_7…を0と算出し、期間Tに対応する反応回数y1_6を1と算出する。
 また、反応回数算出部108は、複数の期間の長さΔtijを算出する。例えば、反応回数算出部108は、ID(i)=1の個体の期間T(2012/2/7~2012/2/10)の長さΔt1_6を4日と算出する。反応回数算出部108は、複数の期間の長さΔtij及び、算出された複数の期間ごとの反応回数yijを分析部110に供給する。
 次に、S110において、変換部112は、複数の状態ベクトルXijを複数の特徴ベクトルに変換する。例えば、変換部112は、予め設計された任意の写像関数Φ:Rd1→Rd2により、状態ベクトルXijを対応する特徴ベクトルΦ(Xij)に変換する。なお、d1は状態ベクトルの次元、d2は特徴ベクトルの次元である。d1及びd2は、同一であってよい。
 一例として、変換部112は、状態ベクトルXijに2次の相関項を加えることにより、状態ベクトルXijを特徴ベクトルΦ(Xij)に変換してもよい。一例として、変換部112は、状態ベクトルXijの各要素に逓減的な関数(例えば、f(x)=x/(x+a)。aは定数)を適用することにより、状態ベクトルXijを特徴ベクトルΦ(Xij)に変換してもよい。これらに代えて、変換部112は、状態ベクトルXijを変換せずにそのまま特徴ベクトルΦ(Xij)としてもよい。
 次に、S112において、最適化部114は、確率関数が最大となるように重みベクトルを最適化する。具体的には、まず、最適化部114は、個体iの各期間jに対して特徴ベクトルXijと重みベクトルwとの内積によるスカラースコアを計算する。次に、最適化部114は、計算されたスカラースコアの指数関数と期間jの長さとの積が期待値となるポアソン分布から反応回数yijが生成される確率の対数を算出する。最後に、最適化部114は、全ての期間における対数確率の合計が最大化されるように重みベクトルwを最適化する。
 一例として、最適化部114は、数式1の最適化問題を解くことによって、i=1~mとなるm個の個体の重みベクトルw1~mを最適化する。すなわち、分析部110は、最適化部114により複数のイベント系列の入力対象となる複数の個体のそれぞれについてポアソン回帰分析を行う。最適化部114は、数式1を最適化する手法として、最尤推定、MAP推定、及び、ヘイズ推定等を使用してよい。
Figure JPOXMLDOC01-appb-M000002

 最適化部114は、数式1の確率関数lとして、単位時間あたりのイベント発生回数の期待値がスカラースコアの指数関数となるポアソン過程において、対象の期間の間に反応回数のイベントが発生する確率にもとづく対数確率質量関数から、反応回数に対する正規化項を除去した関数を用いる。最適化部114は、正規化項を除去することにより、時間の不可逆性を考慮した最適化を実行することができる。
 一例として、最適化部114は、確率関数lとして、以下の式に示す関数を用いる。
Figure JPOXMLDOC01-appb-M000003


 ただし、yは実際の反応回数、zはスカラースコアであり反応回数の期待値に関する対数となる値、τは対象の期間の長さを示す。
 また、数式1のベクトルwは、個体に依存しない応答パラメータであり、
 pen(w,w,w,…w)は、正規化項であって通常は凸な関数を用いるが非凸な関数を用いてもよい。最適化部114は、正規化項を用いることにより、重みベクトルw1~mが入力された履歴に過剰適合し、履歴と異なるイベント系列に対して適合度が低下することを防止する。
 また、凸な正則化項を用いた場合、最適化部114は、数式1を凸最適化問題に帰結できるので、勾配法により大域最適解を計算することができる。これにより、最適化部114は、数式1を安定的に最適化することができる。
 例えば、最適化部114は、過剰適合防止用の正規化項としてL正規化項を用いることができる。一例として、最適化部114は、L正規化項として、
Figure JPOXMLDOC01-appb-M000004


 を用いることができる。なお、c及びcは、交叉検定等によって定めるハイパーパラメータである。最適化部114は、L正規化項に代えて、L正規化項を用いてもよい。また、最適化部114は、過剰適合防止用の正規化項を含まない数式を用いてもよい。 
 分析部110の最適化部114は、数式1において、j=1~n[i]の複数の期間Tのうち一部を間引いて確率関数lを計算してよい。例えば、最適化部114は、複数の期間Tと予め定められた基準とを比較し、複数の期間Tのうち基準未満の長さの期間を間引いてよい。
 例えば、最適化部114は、2つの期間T+期間T(x+1)に対して期間Tの状態ベクトルXixを割り当ててよい。また、最適化部114は、期間T+期間T(x+1)に対して、期間Tの状態ベクトルXixと、期間Tに隣接する期間T(x+1)の状態ベクトルXi(x+1)との平均から得られる状態ベクトルを割り当ててよい。 
 次に、S114において、最適化部114は、最適化されたm個の個体の重みベクトルw1~mを記憶部116に記憶する。
 図9は、記憶部116に記憶される重みベクトルw1~mの一例を示す。例えば、記憶部116は、個体のID(i)ごとに重みベクトルw1~mを構成する各要素Wieの値を記憶する。図示の例では、記憶部116は、ID(i)=1の山田太郎の重みベクトルの各要素として、W1_1、W1_2、W1_3、及び、W1_4の4個の要素を記憶する。重みベクトルを構成する要素の個数は、S102において置換部102が1つのイベントから生成する矩形パルスの数と同じであってよい。
 このように、本実施形態の分析装置10において、S102からS114までの処理により、置換部102が履歴のイベント系列におけるイベントを矩形パルスに置換することで、状態ベクトル生成部106が状態ベクトルを生成する。各期間において状態ベクトルは定常であるので、分析装置10は、分析部110により、m個の個体に対応する重みベクトルw1~mをポアソン回帰分析し、イベントに対する個体ごとの反応をモデル化することができる。
 これにより、分析装置10は、m個の個体の刺激に対する反応の傾向を、複数の矩形パルスで構成される階段関数で近似できる。例えば、分析装置10は、ある個体iがどのようなイベントの種類に反応しやすいか、及び、イベントに対する反応のタイムラグ等の傾向を、重みベクトルwを算出することにより推定することができる。
 図10は、本実施形態の推定装置20の推定処理のフローを示す。本実施形態において、推定装置20は、S202からS210までの処理を実行することにより、予め定められたイベント系列に対する複数の個体の反応を推定する。
 まず、S202において、置換部202が、特定の個体についてのインパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する。例えば、まず、置換部102は、シミュレーションにおいて想定されるイベント系列を入力する。一例として置換部102は、予め作成された商品の広告キャンペーン計画から、個体iについてのイベント系列を所定のアルゴリズムで作成し、これを入力してよい。
 次に、置換部202は、個体iのイベント系列に含まれるイベントの時点を始点とする予め定められた時間幅の矩形パルスを生成する。置換部202は、複数のイベント系列、及び、複数の矩形パルスの始点及び時間幅の情報を状態ベクトル生成部206に供給する。
 次に、S206において、状態ベクトル生成部206は、複数の期間のそれぞれに対応して、複数のイベント系列のそれぞれについての複数の矩形パルスの状態に応じた状態ベクトルを生成する。例えば、まず、状態ベクトル生成部206は、複数のイベント系列に含まれる期間を一定の時間間隔Δtで分割し、分割された複数の期間T~Tを生成する。
 状態ベクトル生成部206は、分割された期間Tごとに個体iの状態ベクトルXijを生成する。一例として、状態ベクトル生成部206は、期間Tの期間の始点又は終点における複数の矩形パルスの状態に応じた複数の要素から、状態ベクトルXijを生成する。これに代えて、状態ベクトル生成部206は、期間Tの期間の始点及び終点における矩形パルスの状態の平均の値から状態ベクトルXijを生成してもよい。状態ベクトル生成部206は、生成した状態ベクトルXijを推定部210に供給する。
 次に、S208において、記憶部208は、分析装置10の記憶部116から個体iの重みベクトルwを読み出して記憶する。記憶部208は、重みベクトルwを推定部210に供給する。
 次に、S210において、推定部210は、複数の期間T~Tのそれぞれに対応する複数の状態ベクトルXi1~Xinから、複数の期間T~Tのそれぞれに対応する個体iの反応の回数を示す反応回数yijを推定する。例えば、まず、推定部210は、変換部112と同様の方法で、複数の状態ベクトルXijを複数の特徴ベクトルΦ(Xij)に変換する。
 推定部210は、複数の期間T~Tのそれぞれについて、個体iの特徴ベクトルΦ(Xij)と重みベクトルwとの内積により得られるスカラースコアを算出する。推定部210は、スカラースコアの指数関数と時間間隔Δtとの積を期間Tにおける平均反応回数とするポアソン分布から、モンテカルロ法によって期間Tにおける反応回数のサンプルyijを算出する。Δtが十分に小さいと、推定部210は、期間tjの反応回数として0又は1を生成する。
 推定部210は、複数の期間T~Tの反応回数yijの合計を算出することにより、イベント系列の全体の期間における個体iの反応回数Yを推定する。推定装置20は、全ての個体について反応回数Yを推定するまでS202からS210の処理を繰り返す。
 このように、本実施形態の推定装置20は、想定されるイベント系列から状態ベクトルを生成し、これと個体iごと刺激に対する反応の傾向を表す重みベクトルwとの内積を用いることで、個体iごとにイベントに対する反応をシミュレーションすることができる。これにより、推定装置20は、複数の個体に対してシミュレーションを実行することで、将来のイベントに対する多数の個体の反応の大きさを定量的に予想することができる。 
 なお、本実施形態の変形例において、推定装置20の推定部210は、個体のイベントに対する反応回数を推定する代わりに、個体のイベントに対する反応の確率、又は、反応までの所要時間を求めてもよい。
 また、本実施形態によれば、分析装置10は、重みベクトルwにより個体iの応答特性を決定する。このため、推定装置20は、重みベクトルwの値を利用することで強化学習技術及び/又はマルコフ決定過程技術を用いて、マーケティング施策を最適化することができる。
 また、推定装置20において、状態ベクトル生成部206がイベント系列を一定の時間間隔で分割する。このため、推定装置20によると、イベント系列を状態ベクトルの変化点で分割する場合と比べて、反応回数を算出する際の計算量を低減することができる。
 本実施形態の分析装置10及び推定装置20は、DM及びウェブ閲覧による商品の広告キャンペーンをイベント系列とし、顧客の購買をイベントに対する反応としたが、分析装置10及び推定装置20のイベント系列及び反応は他のものであってもよい。例えば、分析装置10及び推定装置20は、テレビ、Eメール、及び、電話等による個体への刺激をイベントとしてよい。また、例えば、分析装置10及び推定装置20は、顧客の商品のウェブページに対するアクセスを反応としてもよい。
 また、分析装置10及び推定装置20は、イベントに対する反応自体をイベント系列に含めてよい。例えば、分析装置10及び推定装置20は、顧客(個体)があるDM広告(イベント)に応じてある商品を購入(反応)した場合、当該購入自体を次の購入に対するイベントとして扱う。これにより、分析装置10及び推定装置20は、購入の習慣化等など、個体による反応自体が次回の反応の原因となる場合をモデル化することができる。
 本実施形態の変形例として、分析装置10及び推定装置20は、ソーシャルネットワークにおける情報の伝播を分析及び予測してもよい。例えば、分析装置10及び推定装置20は、短文投稿ウェブサイトに投稿されるテキストを予め定められたトピックの分類に分け、異なる分類のトピックの投稿を異なるチャネルによるイベントとしてよい。
 また、分析装置10及び推定装置20は、投稿に続く別の投稿を、イベントに対する反応としてよい。これにより、分析装置10及び推定装置20は、ソーシャルネットワークにおける情報の伝播の様子を分析及び予想することができる。
 図11は、分析装置10及び推定装置20等として機能するコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD-ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
 ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
 入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD-ROMドライブ2060を接続する。通信インターフェイス2030は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信インターフェイスは、通信を行うハードウェアとして機能する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD-ROMドライブ2060は、CD-ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
 また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
 RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD-ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
 コンピュータ1900にインストールされ、コンピュータ1900を分析装置10として機能させるプログラムは、置換モジュールと、分割モジュールと、状態ベクトル生成モジュールと、反応回数算出モジュールと、分析モジュールと、変換モジュールと、最適化モジュールと、記憶モジュールとを備え、コンピュータ1900を推定装置20として機能させるプログラムは、置換モジュールと、状態ベクトル生成モジュールと、記憶モジュールと、推定モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、置換部102、分割部104、状態ベクトル生成部106、反応回数算出部108、分析部110、変換部112、最適化部114、記憶部116、置換部202、状態ベクトル生成部206、記憶部208、及び、推定部210としてそれぞれ機能させてよい。
 これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である置換部102、分割部104、状態ベクトル生成部106、反応回数算出部108、分析部110、変換部112、最適化部114、記憶部116、置換部202、状態ベクトル生成部206、記憶部208、及び、推定部210として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の分析装置10及び推定装置20が構築される。
 一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD-ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
 また、CPU2000は、ハードディスクドライブ2040、CD-ROMドライブ2060(CD-ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020及び外部記憶装置等をメモリ、記憶部、または記憶装置等と総称し、これらは本実施形態の記憶部116及び記憶部208と対応してよい。
 本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
 また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすか否かを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
 また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
 以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD-ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
 特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
 10 分析装置、20 推定装置、102 置換部、104 分割部、106 状態ベクトル生成部、108 反応回数算出部、110 分析部、112 変換部、114 最適化部、116 記憶部、202 置換部、206 状態ベクトル生成部、208 記憶部、210 推定部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスクドライブ、2050 フレキシブルディスク・ドライブ、2060 CD-ROMドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 CD-ROM

Claims (20)

  1.  インパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、
     前記イベント系列を前記複数の矩形パルスの少なくとも1つの変化点の時刻で分割する分割部と、
     分割された複数の期間のそれぞれに対応して、前記複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、
     前記複数の期間に対応する複数の前記状態ベクトルを用いてポアソン回帰分析を行う分析部と、
     を備える分析装置。
  2.  前記置換部は、複数の前記イベント系列におけるそれぞれのイベントを前記複数の矩形パルスに置換し、
     前記分割部は、前記複数のイベント系列の少なくとも1つにおける前記複数の矩形パルスの少なくとも1つの変換点の時刻で分割し、
     前記状態ベクトル生成部は、分割された複数の期間のそれぞれに対応して、前記複数のイベント系列のそれぞれについての前記複数の矩形パルスの状態に応じた前記状態ベクトルを生成する
     請求項1に記載の分析装置。
  3.  前記複数の期間のそれぞれに対応して、前記イベント系列を受けて当該期間中に発生した反応の回数である反応回数を算出する反応回数算出部を更に備え、
     前記分析部は、前記複数の状態ベクトル、および、前記複数の期間に対応する複数の前記反応回数を用いてポアソン回帰分析を行う
     請求項2に記載の分析装置。
  4.  前記分析部は、
     前記複数の状態ベクトルを複数の特徴ベクトルに変換する変換部と、
     前記複数の期間において、前記特徴ベクトルと重みベクトルとの内積により得られるスカラースコアに基づくポアソン分布から前記反応回数が得られる確率を最大化するように重みベクトルを最適化する最適化部と、
     を有する請求項3に記載の分析装置。
  5.  前記最適化部は、前記スカラースコアに基づいて前記反応回数の発生確率を算出する確率関数の、前記複数の期間における合計が最大化するように前記重みベクトルを最適化する請求項4に記載の分析装置。
  6.  前記最適化部は、前記確率関数として、単位時間あたりのイベント発生回数の平均が前記スカラースコアの指数関数となるポアソン過程において、対象の期間の間に前記反応回数のイベントが発生する確率を算出するための対数確率質量関数から前記反応回数に対する正規化項を除去した関数を用いる請求項5に記載の分析装置。
  7.  前記最適化部は、前記確率関数lとして、以下の式に示す関数を用いる請求項5又は6に記載の分析装置。
    Figure JPOXMLDOC01-appb-M000001


     ただし、yは反応回数、zはスカラースコア、τは対象の期間の長さを示す。
  8.  前記分析部は、前記複数のイベント系列の入力対象となる複数の個体のそれぞれについて前記ポアソン回帰分析を行う請求項1から7のいずれか一項に記載の分析装置。
  9.  前記分析部は、前記複数の期間のうち一部を間引く請求項1から8のいずれか一項に記載の分析装置。
  10.  前記分析部は、前記複数の期間のうち基準未満の長さの期間を間引く請求項9に記載の分析装置。
  11.  請求項1から10のいずれか一項に記載の分析装置による分析結果に基づいてイベント系列に対する反応を推定する推定装置であって、
     入力された前記イベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、
     複数の期間のそれぞれに対応して、前記複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、
     前記分析装置による分析結果を用いて、前記複数の期間のそれぞれに対応する複数の前記状態ベクトルから、前記複数の期間のそれぞれに対応する反応の回数を示す反応回数を推定する推定部と、
     を備える推定装置。
  12.  コンピュータを、インパルス状のイベント系列に対するポアソン回帰分析を行う分析装置として機能させる分析プログラムであって、
     前記コンピュータを、
     入力された前記イベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、
     前記イベント系列を前記複数の矩形パルスの少なくとも1つの変化点の時刻で分割する分割部と、
     分割された複数の期間のそれぞれに対応して、前記複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、
     前記複数の期間に対応する複数の前記状態ベクトルを用いてポアソン回帰分析を行う分析部と、
     して機能させる分析プログラム。
  13.  コンピュータを、請求項12に記載の分析プログラムによる分析結果に基づいてイベント系列に対する反応を推定する推定装置として機能させる推定プログラムであって、
     前記コンピュータを、
     入力された前記イベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、
     複数の期間のそれぞれに対応して、前記複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、
     前記分析装置による分析結果を用いて、前記複数の期間のそれぞれに対応する複数の前記状態ベクトルから、前記複数の期間のそれぞれに対応する反応の回数を示す反応回数を推定する推定部と、
     して機能させる推定プログラム。
  14.  コンピュータが、インパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する段階と、
     前記コンピュータが、前記イベント系列を前記複数の矩形パルスの少なくとも1つの変化点の時刻で分割する段階と、
     前記コンピュータが、分割された複数の期間のそれぞれに対応して、前記複数の矩形パルスの状態に応じた状態ベクトルを生成する段階と、
     前記コンピュータが、前記複数の期間に対応する複数の前記状態ベクトルを用いてポアソン回帰分析を行う段階とを備える、
     分析方法。
  15.  前記置換する段階において、複数の前記イベント系列におけるそれぞれのイベントを前記複数の矩形パルスに置換し、
     前記分割する段階において、前記複数のイベント系列の少なくとも1つにおける前記複数の矩形パルスの少なくとも1つの変換点の時刻で分割し、
     前記生成する段階において、分割された複数の期間のそれぞれに対応して、前記複数のイベント系列のそれぞれについての前記複数の矩形パルスの状態に応じた前記状態ベクトルを生成する、
     請求項14に記載の分析方法。
  16.  前記複数の期間のそれぞれに対応して、前記イベント系列を受けて当該期間中に発生した反応の回数である反応回数を算出する反応回数算出段階を更に備え、
     前記ポアソン回帰分析を行う段階において、前記複数の状態ベクトル、および、前記複数の期間に対応する複数の前記反応回数を用いてポアソン回帰分析を行う、
     請求項15に記載の分析方法。
  17.  前記ポアソン回帰分析を行う段階は、
     前記複数の状態ベクトルを複数の特徴ベクトルに変換する変換段階と、
     前記複数の期間において、前記特徴ベクトルと重みベクトルとの内積により得られるスカラースコアに基づくポアソン分布から前記反応回数が得られる確率を最大化するように重みベクトルを最適化する最適化段階とを含む、
     請求項16に記載の分析方法。
  18.  前記ポアソン回帰分析を行う段階において、複数の前記イベント系列の入力対象となる複数の個体のそれぞれについて前記ポアソン回帰分析を行う、
     請求項14から17のいずれか一項に記載の分析方法。
  19.  前記ポアソン回帰分析を行う段階において、前記複数の期間のうち一部を間引く請求項14から18のいずれか一項に記載の分析方法。
  20.  請求項14に記載の分析方法による分析結果に基づいてイベント系列に対する反応を推定する推定方法であって、
     コンピュータが、入力された前記イベント系列におけるそれぞれのイベントを複数の矩形パルスに置換し、
     前記コンピュータが、複数の期間のそれぞれに対応して、前記複数の矩形パルスの状態に応じた状態ベクトルを生成し、
     前記コンピュータが、前記分析方法による分析結果を用いて、前記複数の期間のそれぞれに対応する複数の前記状態ベクトルから、前記複数の期間のそれぞれに対応する反応の回数を示す反応回数を推定する
     推定方法。
PCT/JP2013/081118 2012-12-25 2013-11-19 分析装置、分析プログラム、分析方法、推定装置、推定プログラム、及び、推定方法。 WO2014103560A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014554237A JP6072078B2 (ja) 2012-12-25 2013-11-19 分析装置、分析プログラム、分析方法、推定装置、推定プログラム、及び、推定方法。
US14/655,635 US10121156B2 (en) 2012-12-25 2013-11-19 Analysis device, analysis program, analysis method, estimation device, estimation program, and estimation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-281789 2012-12-25
JP2012281789 2012-12-25

Publications (1)

Publication Number Publication Date
WO2014103560A1 true WO2014103560A1 (ja) 2014-07-03

Family

ID=51020654

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/081118 WO2014103560A1 (ja) 2012-12-25 2013-11-19 分析装置、分析プログラム、分析方法、推定装置、推定プログラム、及び、推定方法。

Country Status (3)

Country Link
US (1) US10121156B2 (ja)
JP (1) JP6072078B2 (ja)
WO (1) WO2014103560A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020026326A1 (ja) * 2018-07-31 2020-02-06 日本電気株式会社 情報処理装置、制御方法、及びプログラム
WO2020026327A1 (ja) * 2018-07-31 2020-02-06 日本電気株式会社 情報処理装置、制御方法、及びプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ591354A (en) 2010-02-26 2012-09-28 Kraft Foods Global Brands Llc A low-tack, UV-cured pressure sensitive acrylic ester based adhesive for reclosable packaging
CN104699717B (zh) * 2013-12-10 2019-01-18 中国银联股份有限公司 数据挖掘方法
US11403531B2 (en) * 2017-07-19 2022-08-02 Disney Enterprises, Inc. Factorized variational autoencoders
US11423325B2 (en) 2017-10-25 2022-08-23 International Business Machines Corporation Regression for metric dataset
CN112579920B (zh) * 2020-12-09 2023-06-20 成都中科大旗软件股份有限公司 一种基于事件实现跨时空传播分析方法
WO2023054783A1 (ko) * 2021-09-29 2023-04-06 주식회사 프렌트립 파라미터 간의 연관도를 기반으로 레저 활동 레슨에 대한 파라미터를 예측하는 전자 장치의 제어 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005236862A (ja) * 2004-02-23 2005-09-02 Kddi Corp ログ分析装置、ログ分析プログラムおよび記録媒体
JP2009229899A (ja) * 2008-03-24 2009-10-08 Toshiba Corp 音声認識装置および音声認識方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1630866A (zh) 1999-01-27 2005-06-22 理查德桑德斯国际公司 用于模拟人类对刺激的反应的方法
US6430539B1 (en) 1999-05-06 2002-08-06 Hnc Software Predictive modeling of consumer financial behavior
US6904408B1 (en) * 2000-10-19 2005-06-07 Mccarthy John Bionet method, system and personalized web content manager responsive to browser viewers' psychological preferences, behavioral responses and physiological stress indicators
JP2002288295A (ja) 2001-03-27 2002-10-04 Digicube Co Ltd 流通在庫シミュレーション装置、記録媒体、及びプログラム
US20080290987A1 (en) * 2007-04-22 2008-11-27 Lehmann Li Methods and apparatus related to content sharing between devices
US7519553B2 (en) * 2007-05-02 2009-04-14 International Business Machines Corporation Method and system for debt collection optimization
JP5170537B2 (ja) 2008-03-13 2013-03-27 富士通株式会社 利用者状態推定システム、利用者状態推定方法および利用者状態推定プログラム
US20100049538A1 (en) * 2008-08-22 2010-02-25 Durban Frazer Method and apparatus for selecting next action
US8543445B2 (en) * 2009-12-21 2013-09-24 Hartford Fire Insurance Company System and method for direct mailing insurance solicitations utilizing hierarchical bayesian inference for prospect selection
JP5423512B2 (ja) 2010-03-18 2014-02-19 日本電気株式会社 放送型データストリーム保護システム、方法及びユーザ端末特定プログラム
US9047560B2 (en) * 2011-06-29 2015-06-02 Microsoft Technology Licensing, Llc Using event stream data to create a decision graph representing a race participant where leaf nodes comprise rates defining a speed of the race participant in a race simulation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005236862A (ja) * 2004-02-23 2005-09-02 Kddi Corp ログ分析装置、ログ分析プログラムおよび記録媒体
JP2009229899A (ja) * 2008-03-24 2009-10-08 Toshiba Corp 音声認識装置および音声認識方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020026326A1 (ja) * 2018-07-31 2020-02-06 日本電気株式会社 情報処理装置、制御方法、及びプログラム
WO2020026327A1 (ja) * 2018-07-31 2020-02-06 日本電気株式会社 情報処理装置、制御方法、及びプログラム
JPWO2020026326A1 (ja) * 2018-07-31 2021-08-02 日本電気株式会社 情報処理装置、制御方法、及びプログラム
JPWO2020026327A1 (ja) * 2018-07-31 2021-08-02 日本電気株式会社 情報処理装置、制御方法、及びプログラム
US20210311009A1 (en) * 2018-07-31 2021-10-07 Nec Corporation Information processing apparatus, control method, and non-transitory storage medium
JP7074194B2 (ja) 2018-07-31 2022-05-24 日本電気株式会社 情報処理装置、制御方法、及びプログラム
JP7140191B2 (ja) 2018-07-31 2022-09-21 日本電気株式会社 情報処理装置、制御方法、及びプログラム

Also Published As

Publication number Publication date
US20150339680A1 (en) 2015-11-26
JP6072078B2 (ja) 2017-02-01
JPWO2014103560A1 (ja) 2017-01-12
US10121156B2 (en) 2018-11-06

Similar Documents

Publication Publication Date Title
JP6072078B2 (ja) 分析装置、分析プログラム、分析方法、推定装置、推定プログラム、及び、推定方法。
CN105631698B (zh) 用于策略部署的风险量化
US8190537B1 (en) Feature selection for large scale models
Keane et al. A computationally practical simulation estimation algorithm for dynamic panel data models with unobserved endogenous state variables
US20090024407A1 (en) Indicating which of forecasting models at different aggregation levels has a better forecast quality
US10515378B2 (en) Extracting relevant features from electronic marketing data for training analytical models
CN106030589A (zh) 使用开源数据的疾病预测系统
JP2008152321A (ja) 顧客セグメント推定装置
WO2008042784A2 (en) Comparing taxonomies
JP5963320B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP5984147B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
US20190080352A1 (en) Segment Extension Based on Lookalike Selection
Zellner et al. Bayesian and non-Bayesian analysis of the seemingly unrelated regression model with Student-t errors, and its application for forecasting
Djeundje et al. Identifying hidden patterns in credit risk survival data using generalised additive models
CN110543474A (zh) 一种基于全埋点与潜在因子模型的用户行为分析方法和装置
EP3918545A1 (en) Method and system for optimizing an objective having discrete constraints
JP2015114988A (ja) 処理装置、処理方法、およびプログラム
US20170046726A1 (en) Information processing device, information processing method, and program
JP2015187773A (ja) データ解析装置、データ解析プログラム及びデータ解析方法
JP5860828B2 (ja) 行動確率推定装置、方法、及びプログラム
JP2020071523A (ja) 見積方法、課金方法、コンピュータ、及びプログラム
JP6784000B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP6570501B2 (ja) 情報提供装置、情報提供方法、および情報提供プログラム
WO2023021690A1 (ja) モデル生成装置、モデル生成方法、プログラム
JP7392838B2 (ja) 推定装置、推定システム、推定方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13868413

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014554237

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14655635

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 13868413

Country of ref document: EP

Kind code of ref document: A1