Information processing device and information processing method
The information processing system addresses the challenge of selecting intervention variables in causal estimation by using order limitations and DirectLiNGAM to optimize intervention effects, ensuring efficient variable selection and reducing computational complexity.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-26
- Publication Date
- 2026-04-02
Smart Images

Figure JP2024034305_02042026_PF_FP_ABST
Abstract
Description
Information processing device and information processing method
[0001] This invention relates to a technique for selecting intervention elements in causal exploration.
[0002] Techniques for causal estimation are known. For example, Patent Document 1 discloses an invention for estimating causal relationships based on variables involved in production quality.
[0003] Japanese Patent Publication No. 2022-170171
[0004] The invention described in Patent Document 1 simply involved the system identifying explanatory variables based on the variable specification by the administrator.
[0005] In contrast, the present invention provides an improved technique for selecting intervention variables.
[0006] An information processing device according to one aspect of this disclosure includes a receiving unit that receives a specification of an order indicating the maximum number of intervention variables that can be intervened in a causal graph showing causal relationships between multiple variables, and an output unit that outputs a selection result in which a variable to be an intervention variable has been selected from the multiple variables based on the order limitation.
[0007] An information processing method according to another aspect of the present disclosure includes the steps of: a computer receiving a specification of an order indicating the maximum number of intervention variables that can be intervened in a causal graph showing causal relationships between a plurality of variables before reaching a target variable; and outputting a selection result in which a variable that will become an intervention variable has been selected from the plurality of variables based on the order limitation.
[0008] According to the present invention, an improved technique for selecting intervention variables can be provided.
[0009] A diagram illustrating a causal graph related to related technologies. A diagram illustrating the system configuration of an information processing system 1 according to one embodiment. A diagram illustrating the functional configuration of the information processing system 1. A diagram illustrating the hardware configuration of the information processing device 10. A sequence chart illustrating the method for estimating a causal graph and selecting intervention variables in the information processing system 1. A diagram illustrating a service database 1000. A flowchart illustrating the method for selecting intervention variables in the information processing system 1. A diagram illustrating the degree of each variable in the causal graph. A diagram illustrating the method for selecting intervention variables using degree in a causal graph.
[0010] 1. Overview Figure 1 is an example of a causal graph related to the relevant technology. In this example, the causal graph 9000 is a DAG (Directed Acyclic Graph) that shows the causal relationships between variables. A DAG has nodes and edges. Nodes represent elements (or simply "variables"), and edges represent the causal relationships between variables. In this example, the dependent variable is income (or annual income), and the causal relationships consisting of various variables that cause income to increase or decrease are represented by nodes and edges. For example, in the causal graph 9000, the direction of causality is identified by an edge E11 that reaches from node N1, which represents age, to node N100, which represents income. In this example, it is estimated that income increases by 70,000 yen per year (70K in the figure) for every year increase in age. Other causal relationships are shown, such as a 100,000 yen increase in annual income for every one hour increase in working hours per week, and a difference of 1,080,000 yen per year depending on gender (meaning men earn 1,080,000 yen more per year than women). Similarly, in the causal graph 9000, the causal direction from one node to another is identified, and the final income is estimated based on the causal effects of these nodes.
[0011] Causal relationships are identified, for example, based on LiNGAM (Linear Non-Gaussian Acyclic Model). LiNGAM is one of the methods for causal exploration. LiNGAM is an evaluation model that can identify the direction of causal relationships by utilizing the assumption of non-Gaussianity, and it follows the assumptions of linear functions and non-Gaussianity. In LiNGAM, a variable is expressed as a linear function of the preceding variable. Non-Gaussianity refers to a state in which various datasets or probability distributions do not follow a Gaussian distribution (or a normal distribution). For example, a distribution in which the incomes of many people are concentrated in a relatively low range, and some people earn very high incomes, is asymmetrical because it has a graph structure biased in one direction, and therefore exhibits non-Gaussianity.
[0012] Conventional related technologies used LiNGAM to estimate a causal graph 9000 and performed evaluations to maximize the target variable, income. Given a causal relationship graph related to income, it is useful to solve the problem of which variable to intervene in to maximize the overall causal effect. In this problem, the variable to be intervened in is called the intervention variable. This problem is a so-called NP-hard problem. This is because finding the optimal intervention variable becomes exponentially more difficult as the number of variables increases. However, in related technologies, even when performing such causal searches, solutions were found by brute force or by using manual methods. Therefore, in this embodiment, the following system is provided to address this problem.
[0013] 2. Diagram 2 illustrates the system configuration of an information processing system 1 according to one embodiment. In this example, the information processing system 1 (or simply the system) is a system for selecting intervention variables that maximize a target variable in a causal graph. In this example, the target variable is called a KPI (Key Performance Indicator). A KPI is the final destination of a directed edge in a causal graph, and corresponds to, for example, the income node in causal graph 9000. In this example, node N100 is set in advance as the target element. Note that node N9, which indicates happiness, is reached from marriage or appearance and is an independent element as it does not have an edge extending from income (it does not have an edge extending beyond node N9), but this is merely a variable and not a KPI. In the present invention, a variable specified in advance by the user of the system is defined as a KPI. In this example, the intervention variables are intervenable variables among the variables other than KPIs in causal graph 9000, such as age, working hours, and gender. The information processing system 1 aims to reduce NP-hard problems to more manageable optimization problems based on the restrictions on intervention variables specified by the system's users.
[0014] The information processing system 1 includes an information processing device 10, a user terminal 20, and a data server 30. In this example, each component of the system is connected via a network 9 as shown in Figure 2. In this example, the network 9 is a computer network such as the Internet or a mobile network.
[0015] The information processing device 10 is an information processing device or server device in the information processing system 1. In this example, the information processing device 10 estimates causal relationships from observed data (an example of real data) for a specified KPI using DirectLiNGAM. In this example, DirectLiNGAM is a method that estimates the causal effect between variables on a KPI using coefficients. As a result, the information processing device 10 can obtain a causal graph related to the KPI. The real data consists of various data that represent elements defined as intervention variables. The information processing device 10 obtains the real data from the data server 30. The information processing device 10 selects variables in the causal graph based on the restrictions regarding intervention variables received from the user terminal 20.
[0016] The user terminal 20 is a terminal owned and used by a user of the system (or "analyst"). The user terminal 20 includes, for example, a smartphone, tablet, or personal computer. In this example, the user terminal 20 receives a specification from the user for the order, which indicates the maximum number of intervention variables that must be encountered to reach the target variable in the causal graph. The user terminal 20 outputs the received specification to the information processing device 10. The order will be explained later.
[0017] The data server 30 is a server device that manages actual data. In this example, the data server 30 outputs various data in response to requests from the information processing device 10. The data stored by the data server 30 includes data corresponding to the service to which the information processing system 1 is applied.
[0018] Here, the user terminal 20 and the data server 30 are devices belonging to, for example, a corporation that operates a specific service. In this example, the service includes video streaming services, flat-rate content usage services, or other subscription services. The KPIs are predetermined for the user according to the improvements related to these services.
[0019] Figure 3 is a diagram illustrating the functional configuration of the information processing system 1. In this embodiment, the information processing device 10 has functional blocks (or components) consisting of an estimation unit 11, a reception unit 12, a selection unit 13, a calculation unit 14, an output unit 15, a storage unit 191, and a control unit 192. In this example, the storage unit 191 stores various data, programs, and software modules, including a database. In this example, the control unit 192 performs various controls.
[0020] The estimation unit 11 estimates a causal graph according to the KPI specified by the user. The estimation unit 11 cooperates with the database of the data server 30 to acquire data according to various requests. The estimation unit 11 uses DirectLiNGAM to estimate the causal effect of the intervention variable (hereinafter simply referred to as "intervention effect").
[0021] The reception unit 12 accepts a specification of the order, which indicates the maximum number of intervention variables that must be encountered to reach the target variable in a causal graph showing the causal relationships between multiple variables. In this example, the order is specified by the user and is expressed as, for example, 1st order, 2nd order...Nth order. The reception unit 12 also accepts a specification regarding the upper limit of the number of intervention variables. Based on these restrictions, the information processing device 10 can reduce the problem to an optimization problem of the specified order.
[0022] The selection unit 13 selects variables such that the intervention effect of each variable is maximized according to the order constraints. In this example, the intervention effect is calculated based on the causal effect of each variable. Furthermore, the intervention effect is calculated using coefficients estimated by DirectLiNGAM.
[0023] The calculation unit 14 solves an optimization problem related to the KPI based on the intervention variables selected by the selection unit 13. In this example, the calculation unit 14 calculates the sum of intervention effects that maximize the KPI.
[0024] The output unit 15 outputs the selection results, which are obtained by selecting the intervention variables from among multiple variables based on the order constraints. The selection results also include the results of selecting up to the upper limit of intervention variables based on the magnitude of the causal coefficients of the variables.
[0025] Figure 4 illustrates the hardware configuration of the information processing device 10. Physically, the information processing device 10 is configured as a computer including a processor 101, memory 102, storage 103, communication device 104, input device (optional), display device (optional), and a bus connecting these. Each of these devices operates on power supplied from a battery (not shown). In the following description, the term "device" can be read as a circuit, device, unit, etc. The hardware configuration of the information processing device 10 may include one or more of the devices shown in Figure 4, or it may be configured without some of the devices. Alternatively, multiple devices with different enclosures may be connected via communication to constitute the information processing device 10.
[0026] Each function in the information processing device 10 is realized by loading predetermined software (programs) onto hardware such as the processor 101 and memory 102, which allows the processor 101 to perform calculations, control communication by the communication device 104, and control at least one of the reading and writing of data in the memory 102 and storage 103.
[0027] The processor 101 controls the entire computer, for example, by running the operating system. The processor 101 may be composed of a central processing unit (CPU) that includes interfaces with peripheral devices, control devices, arithmetic units, registers, etc. Also, for example, a baseband signal processing unit or a call processing unit may be implemented by the processor 101.
[0028] The processor 101 reads programs (program code), software modules, data, etc., from at least one of the storage 103 and the communication device 104 into the memory 102 and executes various processes accordingly. The program used is one that causes the computer to execute at least a part of the operations described later. Functional blocks of the information processing device 10 may be stored in the memory 102 and implemented by control programs that run on the processor 101. Various processes may be executed by one processor 101, or they may be executed simultaneously or sequentially by two or more processors 101. The processor 101 may be implemented by one or more chips. The program may also be transmitted to the information processing device 10 via a telecommunications line.
[0029] Memory 102 is a computer-readable recording medium and may consist of at least one of the following: ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), RAM (Random Access Memory), etc. Memory 102 may also be called a register, cache, main memory, etc. Memory 102 can store executable programs (program code), software modules, etc., for carrying out the method according to this embodiment.
[0030] The storage 103 is a computer-readable recording medium and may consist of at least one of the following: an optical disc such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disc, a digital multipurpose disc, a Blu-ray® disc), a smart card, flash memory (e.g., a card, a stick, a key drive), a floppy® disk, a magnetic strip, etc. The storage 103 may also be called an auxiliary storage device.
[0031] The communication device 104 is hardware (a transmission / reception device) for performing communication between computers via at least one of a wired network and a wireless network, and is also referred to as, for example, a network device, a network controller, a network card, a communication module, or the like.
[0032] Each device such as the processor 101 and the memory 102 is connected by a bus for communicating information. The bus may be configured using a single bus, or may be configured using different buses for each device.
[0033] The information processing device 10 may be configured to include hardware such as a microprocessor, a digital signal processor (DSP: Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), an FPGA (Field Programmable Gate Array), or the like, and some or all of each functional block may be realized by the hardware. For example, the processor 101 may be implemented using at least one of these hardware.
[0034] In this example, the program stored in the storage 103 includes a program (hereinafter referred to as a "server program") for causing the computer to function as a server in the information processing system 1. In a state where the processor 101 is executing the server program, the processor 101, the memory 102, the storage 103, and the communication device 104 are an example of functional blocks for operating the information processing device 10. The processor 101 is an example of the estimation unit 11, the selection unit 13, the calculation unit 14, and the control unit 192. At least one of the memory 102 and the storage 103 is an example of the storage unit 191. The communication device 104 is an example of the reception unit 12 and the output unit 15.
[0035] Although detailed description is omitted, the user terminal 20 is a computer having a processor, a memory, a storage, a communication device, a display device, an input device, and an output device, specifically, for example, a smartphone, a tablet terminal, or a personal computer. In this example, the program stored in the storage of the user terminal 20 includes a program (hereinafter referred to as "client program") for making the computer function as a client in the information processing system 1.
[0036] The data server 30 is a computer having a processor, a memory, a storage, and a communication device. In this example, the program stored in the storage of the data server 30 includes a program (hereinafter referred to as "data server program") for making the computer function as a data server in the information processing system 1. The configuration of the information processing system 1 has been described so far. Next, the operation of the information processing system 1 will be described.
[0037] 3. Operation 3-1. Method for estimating causal graph and method for selecting intervention variable Fig. 5 is a sequence chart illustrating a method for estimating a causal graph and a method for selecting an intervention variable in the information processing system 1. Here, an operation example in the case of evaluating KPIs related to a service for end users (hereinafter simply referred to as "users") such as a video distribution service will be described. Note that the "user" who uses the information processing system 1 and the "user" related to the service to which the present invention is applied are distinguished as referring to different entities. First, the method for estimating the causal graph will be described.
[0038] In step S101, the information processing apparatus 10 receives a specification of a KPI from the user terminal 20. In this example, when the service to which the information processing system 1 is applied is a video distribution service, the KPI is, for example, sales or the number of member users.
[0039] In step S102, the information processing apparatus 10 cooperates with the database of the data server 30 and acquires various data. In this example, the information processing apparatus 10 acquires actual data related to the video distribution service based on the specified KPI. Here, the actual data will be described.
[0040] Figure 6 is an example of the service database 1000. The service database 1000 contains multiple records related to actual data. Each record corresponds to information for each piece of actual data (or each category). Each record includes an actual data ID, data category, data name, content, and remarks. The actual data ID is unique identification information for each piece of actual data. The data category is information that classifies the data acquired by the video distribution service into various items, and includes, for example, user attributes representing the attributes of end users who use the service, content representing videos or music distributed within the application, and promotions representing discounts or coupons. The data name is a name used to identify various data for each category. The content is information about the actual data associated with the data name. For example, regarding actual data related to user attributes, the data server 30 aggregates actual data for each item such as age or gender, average service usage time, and login frequency, and records it in the database. This data is acquired from user terminals used by end users via APIs, etc. The remarks include various information about the actual data. The information processing device 10 can cooperate with the data server 30 to acquire the data necessary for estimating a causal graph.
[0041] Returning to Figure 5, in step S103, the information processing device 10 obtains a causal graph. In this example, the information processing device 10 obtains a causal graph by estimating the intervention effect using DirectLiNGAM and generating a causal graph. Here, the information processing device 10 calculates the coefficient matrix B using the following equation (1). The coefficient matrix B represents the strength of the causal relationship between each variable.
[0042] In this example, "X" is the observed variable vector when the dataset, such as observed real data, is considered as a single variable. "E" is the noise vector related to errors or fluctuations contained in the real data. The information processing device 10 can estimate how much each variable influences the others by obtaining the coefficient matrix B based on equation (1). The information processing device 10 graphs the coefficient matrix B obtained by equation (1) to generate a causal graph. In this example, the information processing device 10 records the generated causal graph in the database. A specific example of a causal graph will be described later.
[0043] In subsequent processing, it is assumed that the user evaluates the results of the causal search related to the KPI specified in step S101. In this example, if no selection of intervention variables has been made, attempting to perform the calculation process to maximize the KPI will result in a problem where the computational complexity increases due to it becoming an NP-hard problem.
[0044] In step S104, the information processing device 10 receives a specification regarding the order limit from the user terminal 20. The order will be described later. The order specified by the user is input as a numerical value, for example, Nth order, and in one example, it is preferable that it be at least 1st order and at most 2nd order. Upon receiving the order specification from the user terminal 20, the information processing device 10 starts the following processing.
[0045] In step S105, the information processing device 10 selects an intervention variable based on the specified order. Here, the method for selecting the intervention variable will be explained in detail with respect to step S105.
[0046] Figure 7 is a flowchart illustrating the method for selecting intervention variables in the information processing system 1. This flowchart corresponds to the operation related to the processing in step S105 described above. In step S11, the information processing device 10 calculates the degree of each variable in the causal graph generated in step S103. Here, the degree in the causal graph will be explained.
[0047] Figure 8 illustrates the degree of each variable in a causal graph. Causal graph 2000 is an example of a causal graph estimated in step S103. In this example, each node is connected to other nodes by directed edges. KPI variable K is a node (rhombus shape) related to a KPI defined by the user. In Figure 8, two KPI variables K, KPI variable K1 and KPI variable K2, are illustrated. KPI variables K1 and KPI variable K2 may be different KPIs or the same. Mediation element M is a node (rhombus shape) related to a fixed element other than an intervenable element like a variable. While variables are controllable elements, mediation elements are elements that are difficult to change (or uncontrollable). In a causal graph, interventions of elements other than the intervention variable are also identified depending on the actual data. In this example, the mediating element M1 may directly intervene in the KPI variable K1, or it may intervene in the KPI variable K2 via an intervention variable described later. The intervention variable V is a node (roughly shaped like a rounded rectangle) relating to the variable that can be intervened in. In the causal graph 2000, if there are too many intervention variables V when evaluating the maximization of the KPI by these intervention variables V, it may lead to a state of NP difficulty. In the causal graph 2000, the causal effects that occur when directed edges are connected from the mediating element M and the intervention variable V to other nodes are illustrated. For example, in the case of intervention variable V3, it is defined that there are separate causal effects from intervention variable V1 (e.g., causal effect 0.001) and intervention variable V2 (e.g., causal effect 0.2).
[0048] Here, the numbers within each node represent the maximum number of intervening variables V passed through before reaching the node itself, and this number is called the degree. For example, in the KPI variable K1, the path is traced in the order of intervening variable V1, mediating factor M1, and KPI variable K1. Therefore, the intervening variable passed through in this path is only intervening variable V1, and the degree is calculated as "1". Note that the starting node when counting the degree is a node that does not receive a causal effect from other nodes, that is, a node without an incoming arrow from other nodes in the figure (for example, intervening variable V1). As another example, in the intervening variable V3, two different paths can be considered: the first path in the order of intervening variable V1, mediating factor M1, intervening variable V2, and intervening variable V3, and the second path in the order of intervening variable V1 and intervening variable V3. In this case, from the comparison between the first path and the second path, the first path with more intervening variables V is considered, and the degree is calculated as "3". Note that in this example, the intervening variable V to be counted includes intervening variable V3 itself. That is, the degree at a certain node is the value obtained by adding 1 to the maximum value of the degrees at other nodes having an edge towards that node. In this way, the degree of each variable in the causal graph can be calculated. The above process can be formulated. For example, the degree of a variable is calculated by the recurrence formula of the following equation (2).
[0049] In this example, "d(x i )" is the degree of variable x i . "I i " is a variable value that represents 1 if variable x i itself is an intervening variable, and 0 otherwise. The term including "max" represents the degree d(x i ) of the variable x j with the maximum degree among the parent variables of variable x j . Note that "pa(x i )" is the set of parent variables of variable x i . That is, the degree of variable x i (for example, intervening variable V3) is calculated by inheriting the maximum value among the degrees of the parent variables (the degree "2" of intervening variable V2 in Figure 8) and adding 1 if it is an intervening variable itself. Note that pa(x iIf the set is empty (i.e., there are no parent variables), the degree is the variable x i This is determined by whether or not the variable itself is the intervention variable.
[0050] Return to Figure 7. In step S12, the information processing device 10 selects an intervention variable based on the N-th order restriction (an example of a constraint condition) specified by the user. Here, we will explain the case where the user specifies the order as "N=2". The following is an example of how to select an intervention variable using the order.
[0051] Figure 9 illustrates a method for selecting intervention variables using degree in a causal graph. Causal graph 3000 is an example of a causal graph in which intervention variables have been selected, and has the same graph structure as causal graph 2000. In this example, intervention variable V1 represents an excluded intervention variable. Comparing Figure 8 and Figure 9, Figure 8 contains a node with degree 3 (for example, intervention variable V3), which exceeds the degree 2 specified by the user, and it is required to limit the degree to 2. Therefore, the information processing device 10 compares the causal effect of each node and excludes the intervention variable with the smallest causal effect from the graph. In this example, the variable with the smallest causal effect and least impact on maximizing the KPI is intervention variable V1. The information processing device 10 excludes intervention variable V1. After excluding intervention variable V1 from the graph, the information processing device 10 recalculates the degree of each node. In Figure 9, the order of the original intervention variable V1 changes from 1 to 0, and the orders of the other KPI variables K, mediating element M, and intervention variable V are similarly recalculated. The numbers for each node in the causal graph 3000 represent the orders after recalculation. The information processing device 10 repeats the above process until the order of each node falls below the specified order. In the above selection method, as an example, the intervention variable V with the smallest causal effect is excluded, but the variables to be excluded can be selected by any method.
[0052] Here, when applying the above method to a more complex causal graph, ultimately, higher-order intervention variables are excluded, or even if they are high-order, intervention variables with a high causal effect are reduced to a lower order until they fall within the specified order. As a result, intervention variables can be selected while considering the maximization of the KPI as a whole, without having too many variables. This allows the information processing device 10 to avoid NP-hard conditions. The constraints described in step S12 can be formulated, for example, by the following equation (3).
[0053] Here's the first K i " is the variable x i This is a variable that takes the value 1 if it is a KPI, and 0 otherwise. N " is the maximum degree of the specified intervention variable (to be suppressed). This constraint equation is the degree d(x) of the KPI variable (in this case Ki = 1). i ) is the specified maximum value K N The following is guaranteed: In other words, the information processing device 10 selects intervention variables based on the constraint equation (3) such that the order of the KPI falls within the specified upper limit.
[0054] Return to Figure 7. In step S13, the information processing device 10 calculates the sum of intervention effects that maximize the KPI using the selected variables. For example, the objective function is defined by the following equation (4).
[0055] In this example, the objective function is a function that maximizes the sum of the intervention effects. sum " is the sum of the intervention effects. ji " is the variable x j From variable x i It represents the causal effect on and includes, for example, the coefficient matrix B (hereinafter simply referred to as "coefficients") estimated by DirectLiNGAM in step S103. According to equation (4), a certain variable x i When using as a reference, the variable x i The sum of the coefficients of each variable affected by the causal effect, and whether each variable is an intervention variable or not. iThe product of the sum corresponding to the values is calculated. This allows the information processing device 10 to solve the optimization problem related to the KPIs based on the selected intervention variables without causing NP-hardness.
[0056] Return to Figure 5. In step S106, the information processing device 10 outputs the results to the user terminal 20. The information processing device 10 outputs the selection results of the intervention variables in step S105, and the sum (or the maximized value) of the intervention effect related to the KPI calculated based on the selected intervention variables. The information processing device 10 may also output a causal graph 3000 as a selection result.
[0057] As described above, the information processing device 10 can select intervention variables in a LiNGAM-based causal search while keeping the computational complexity low so as not to cause NP-hardness. For example, when implementing improvements to various services, the information processing device 10 can identify the factors that maximize the defined KPIs. This is expected to contribute to supporting more effective decision-making in management or marketing aspects.
[0058] 4. Modifications The present invention is not limited to the embodiments described above, and various modifications are possible. Several modifications are described below. Two or more of the matters described below may be combined and applied.
[0059] (1) Information Processing System 1 The hardware configuration and network configuration of the information processing system 1 are not limited to those illustrated in the embodiment. The information processing system 1 may have any hardware configuration and network configuration as long as it can realize the required functions. For example, multiple physical devices may cooperate to function as the information processing system 1. For example, at least a part of the information processing device 10 may be implemented on a dedicated server managed by a corporation or the like. Alternatively, the information processing system 1 may provide at least a part of the functions of the information processing device 10 in this embodiment to other companies that operate various services.
[0060] (2) Information Processing Device 10 Some of the functions of the information processing device 10 may be implemented on other servers. These servers may be, for example, physical servers or virtual servers (including so-called clouds). Furthermore, the correspondence between functional elements and hardware is not limited to those illustrated in the embodiments. For example, at least some of the functions described in the embodiments as being implemented on the information processing device 10 may be implemented on other devices or systems, or conversely, at least some of the functions described as being implemented on other devices or systems may be implemented on the information processing device 10. In this example, the information processing device 10 may appropriately acquire actual data stored in the data server 30. The information processing device 10 may select intervention variables regardless of whether the user terminal 20 specifies the order.
[0061] (3) User terminal 20 The user terminal 20 is not limited to those illustrated in the embodiment. The user terminal 20 may perform the above-described processing using any display screen, input device, external device, or various UI. The user terminal 20 may implement any functions necessary for the user to specify the order, specify variables, or make various requests. In this example, the user terminal 20 may implement at least some of the functions of the information processing device 10.
[0062] (4) Data Server 30 The data server 30 is not limited to those illustrated in the embodiment. The data server 30 may perform the above-described processing by any input device, external device, or various UI. The data server 30 may implement any functions necessary for collecting real data required for causal exploration. In this example, the data server 30 may cooperate with a web server, application server, or servers related to various services to collect and store real data.
[0063] (5) Method for Estimating the Causal Graph and Selecting Intervention Variables The sequence chart shown in Figure 5 is merely an example of operation, and the operation of the information processing system 1 is not limited thereto. Some of the illustrated operations may be changed or omitted, the order may be changed, or new operations may be added. In step S103, the information processing device 10 may estimate the causal graph by any means. In this example, the causal graph generated by the information processing device 10 is not limited to the embodiment and may have any causal structure. Furthermore, the information processing device 10 may acquire the causal graph by any means. For example, the causal graph may be generated in advance by another device, and the information processing device 10 may simply acquire the already generated causal graph.
[0064] In step S104, the information processing device 10 may accept a specification from the user regarding the upper limit of the number of intervention variables. In this example, when selecting intervention variables, the information processing device 10 may perform processing according to the upper limit of the target variables. In this case, in step S105, the information processing device 10 may select intervention variables up to the specified upper limit based on the magnitude of the causal coefficient of each variable. The above processing is carried out with respect to the specified upper limit of the number of intervention variables based on a constraint expression defined, for example, by the following equation (5).
[0065] In this example, "K max " is the upper limit of the number of intervention variables. According to equation (5), I is the number of variables that can be used as intervention variables. i The selection of intervention variables is performed such that the sum of the intervention variables, according to the criteria, satisfies the upper limit of the number of intervention variables. In this example, the information processing device 10 selects intervention variables in descending order of causal coefficients until the upper limit is reached. This process may be combined with a process for selecting intervention variables based on the order of degree.
[0066] (6) Method of selecting intervention variables The flowchart shown in Figure 7 is merely an example of the operation, and the operation of the information processing system 1 is not limited thereto. Some of the illustrated operations may be changed or omitted, the order may be changed, or new operations may be added. In step S12, the information processing device 10 may select intervention variables by combining any method. In this example, the information processing device 10 may perform the processing based on the degree limit and the upper limit on the number of intervention variables. Alternatively, at least some of the above-mentioned limitations may be implemented. In this example, the information processing device 10 may retain elements that have a degree greater than the specified degree, such as intervention variables whose causal effect is above a threshold, or mediating elements that are considered to have no change, without excluding them. In step S13, the information processing device 10 may calculate the sum of the intervention effects by any method.
[0067] (7) Database (Data) The database (or the data itself) of the information processing system 1 shown in Figures 6, 8, and 9 is not limited to those illustrated in the embodiments. Any data may be registered in the database in this example. Any data may be recorded in the service database 1000. For example, tags, keywords, or labels may be attached to various real data. The information processing device 10 may also manage information about end users, content, or campaigns. The data format recorded in the database may be any format, for example, text, images, videos, or audio. The causal graphs 2000 and 3000 may have any graph structure, network structure, or causal structure as long as they are based on a DAG structure. For example, a graph structure such as proximity regarding the distance between nodes may be introduced.
[0068] (8) KPIs and Services The KPIs and services are not limited to those exemplified in the embodiments. The KPIs may be determined according to the content of the various services to which the information processing system 1 is applied. For example, the KPIs may be indicators related to management, marketing, or public relations. The services may be related to various fields, and may include services related to sports, health, arts, and entertainment in the IT field such as the Web or applications.
[0069] (9) Other programs executed by the processor 101 may be provided by downloading them via a network such as the Internet, or they may be provided recorded on a computer-readable non-temporary recording medium such as a DVD-ROM. Each processor may be, for example, a CPU, an MPU (Micro Processing Unit), or a GPU (Graphics Processing Unit).
[0070] The block diagrams used in the description of the above embodiments show functional units. These functional blocks (components) are realized by any combination of at least one of hardware and software. Furthermore, the method of realizing each functional block is not particularly limited. That is, each functional block may be realized using one device that is physically or logically coupled, or it may be realized using two or more physically or logically separated devices that are directly or indirectly connected (for example, using wired or wireless connections). A functional block may also be realized by combining software with the one or more of the above devices.
[0071] Functions include, but are not limited to, judgment, decision, determination, calculation, calculation, processing, derivation, investigation, exploration, confirmation, reception, transmission, output, access, resolution, selection, selection, establishment, comparison, assumption, expectation, assumption, broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating (mapping), and assigning. For example, a functional block (configuration part) that enables transmission is called a transmission unit or transmitter. In all cases, as mentioned above, the method of implementation is not particularly limited.
[0072] For example, the information processing device 10 in one embodiment of the present disclosure may function as a computer that performs the processing of the present disclosure.
[0073] Each aspect or embodiment described in this disclosure may be applied to at least one of the following: LTE (Long Term Evolution), LTE-A (LTE-Advanced), SUPER 3G, IMT-Advanced, 4G (4th generation mobile communication system), 5G (5th generation mobile communication system), FRA (Future Radio Access), NR (new Radio), W-CDMA®, GSM®, CDMA2000, UMB (Ultra Mobile Broadband), IEEE 802.11 (Wi-Fi®), IEEE 802.16 (WiMAX®), IEEE 802.20, UWB (Ultra-WideBand), Bluetooth®, and other appropriate systems, as well as next-generation systems extended based thereon. Furthermore, multiple systems may be applied in combination (for example, a combination of at least one of LTE and LTE-A with 5G).
[0074] The processing procedures, sequences, flowcharts, etc., of each aspect or embodiment described in this disclosure may be reordered, provided they do not contradict each other. For example, the methods described in this disclosure present various step elements in an exemplary order and are not limited to the specific order presented.
[0075] Input and output information may be stored in a specific location (e.g., memory) or managed using a management table. Input and output information may be overwritten, updated, or appended to. Output information may be deleted. Input information may be sent to other devices.
[0076] The determination may be made by a value represented by one bit (0 or 1), by a boolean value (true or false), or by a numerical comparison (for example, a comparison with a predetermined value).
[0077] Although the present disclosure has been described in detail above, it will be clear to those skilled in the art that the present disclosure is not limited to the embodiments described herein. The present disclosure can be implemented in modified and altered forms without departing from the intent and scope of the present disclosure as defined by the claims. Therefore, the descriptions in the present disclosure are illustrative and not intended to be restrictive in any way.
[0078] Software should be broadly interpreted to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures, functions, etc., whether they are called software, firmware, middleware, microcode, hardware description languages, or by any other name. Furthermore, software, instructions, information, etc., may be transmitted and received via a transmission medium. For example, if software is transmitted from a website, server, or other remote source using at least one of wired technologies (such as coaxial cable, fiber optic cable, twisted pair, or digital subscriber line (DSL)) and wireless technologies (such as infrared or microwave), at least one of these wired and wireless technologies is included in the definition of a transmission medium.
[0079] The information, signals, etc., described herein may be represented using any of the following different technologies. For example, data, instructions, commands, information, signals, bits, symbols, chips, etc., which may be referred to throughout the above description, may be represented by voltage, current, electromagnetic waves, magnetic fields or magnetic particles, optical fields or photons, or any combination thereof. Terms used herein and terms necessary for understanding this disclosure may be replaced with terms having the same or similar meaning.
[0080] Furthermore, the information, parameters, etc., described in this disclosure may be expressed using absolute values, relative values from a predetermined value, or corresponding other information.
[0081] In this disclosure, the phrase "based on" does not mean "based solely on" unless otherwise specified. In other words, the phrase "based on" means both "based solely on" and "based at least on."
[0082] Any reference to elements using the designations “First,” “Second,” etc., as used in this disclosure does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient way to distinguish between two or more elements. Accordingly, references to the First and Second elements do not imply that only two elements may be employed, or that the First element must precede the Second element in any way.
[0083] In the above-described configuration of each device, the term "part" may be replaced with "means," "circuit," "device," etc.
[0084] Where the terms “include,” “including,” and variations thereof are used in this disclosure, these terms are intended to be inclusive, as is the term “comprising.” Furthermore, the term “or” as used in this disclosure is not intended to mean exclusive OR.
[0085] In this disclosure, if articles are added by translation, such as a, an, and the in English, this disclosure may include the fact that the noun following these articles is plural.
[0086] In this disclosure, the term "A and B are different" may mean "A and B are different from each other." The term may also mean "A and B are each different from C." Terms such as "separate" and "combine" may be interpreted similarly to "different."
[0087] 1... Information processing system, 10... Information processing device, 20... User terminal, 30... Data server, 9... Network, 11... Estimation unit, 12... Reception unit, 13... Selection unit, 14... Calculation unit, 15... Output unit, 191... Storage unit, 192... Control unit, 101... Processor, 102... Memory, 103... Storage, 104... Communication device, 1000... Service database, 2000... Causal graph, 3000... Causal graph, 9000... Causal graph, K... KPI variable, M... Mediating element, V... Intervention variable
Claims
1. An information processing device having a receiving unit that accepts the specification of an order indicating the maximum number of intervention variables that must be intervened to reach a target variable in a causal graph showing causal relationships between multiple variables, and an output unit that outputs a selection result in which a variable to be an intervention variable has been selected from the multiple variables based on the order restriction.
2. The information processing apparatus according to claim 1, further comprising a selection unit that selects a variable such that the intervention effect of the variable is maximized in accordance with the limitations on the degree.
3. The information processing apparatus according to claim 2, wherein the intervention effect is calculated based on the causal effect for each variable.
4. The information processing apparatus according to claim 3, wherein the intervention effect is calculated using coefficients estimated by Direct LiNGAM.
5. The information processing device according to claim 1, wherein the receiving unit receives a specification regarding the upper limit number of intervention variables.
6. The information processing apparatus according to claim 5, wherein the selection result is the result of selecting the intervention variables up to the upper limit number based on the magnitude of the causal coefficient of the variables.
7. An information processing method comprising the steps of: a computer receiving a specification of an order indicating the maximum number of intervention variables that can be intervened in a causal graph showing causal relationships between multiple variables before reaching a target variable; and outputting a selection result in which a variable that will become an intervention variable has been selected from the multiple variables based on the constraint of the order.